主要内容

parsim

并行或串行多次模拟动态系统

描述

例子

simOut= parsim (属性中指定的输入来模拟模型SimulationInput对象,。的parsim命令使用的数组SimulationInput对象来运行多个模拟。

simOut= parsim (“ShowSimulationManager”“上”方法中指定的输入并行地模拟模型SimulationInput对象并打开Simulation Manager UI。有关更多信息,请参见模拟管理器

simOut= parsim (名称,值方法中指定的输入并行地模拟模型SimulationInput对象和指定为名称,值对。

parsim命令使用并行计算工具箱™许可并行运行模拟。parsim如果无法创建并行池或未使用并行计算工具箱,则以串行方式运行模拟。

例子

全部折叠

模拟模型,vdp,在快速加速模式。

加载模型。

模型=“vdp”;load_system(模型)

这一步构建了快速加速器目标

万博1manbetxSimulink.BlockDiagram.buildRapidAcceleratorTarget(模型);

创建一个SimulationInput对象和使用setModelParameter方法来设置RapidAcceleratorUpToDateCheck“关闭”

在= Si万博1manbetxmulink.SimulationInput(模型);在= in.setModelParameter (“SimulationMode”“rapid-accelerator”);在= in.setModelParameter (“RapidAcceleratorUpToDateCheck”“关闭”);

模拟模型。

= parsim(中)

通过扫过一个变量,并行地模拟模型CSTR。一个SimulationInput对象数组用于执行扫描。

指定扫描的值。

FeedTempSweep = 250:10:300;

创建一个SimulationInput对象数组。

Simulink. i = length(FeedTempSweep):-1:万博1manbetx1 in(i)SimulationInput (“装运箱”);在(我)=(我).setVariable (“FeedTemp0”FeedTempSweep(我));结束

并行模拟模型。

= parsim (,“ShowProgress”“上”
[11-Dec-2020 09:14:55] check for availability of parallel pool…使用“local”配置文件启动并行池(parpool)…[11-Dec-2020 09:15:43] Starting Simulink on parallel workers…万博1manbetx[11-Dec-2020 09:16:17]配置并行工作器上的模拟缓存文件夹…[11-Dec-2020 09:16:17]加载模型并行工人…[11- 12 -2020 09:16:25]运行模拟…[11- 12 -2020 09:16:58] 6次模拟运行中已完成1次[11- 12 -2020 09:16:58]6次模拟运行中已完成2次[11- 12 -2020 09:16:58]6次模拟运行中已完成3次[11- 12 -2020 09:17:00]6次模拟运行中已完成4次[11- 12 -2020 09:17:01]6次模拟运行中已完成5次[11- 12 -2020 09:17:01]6次模拟运行中已完成6次09:17:02]清理并行的工人…Simulink. 万博1manbetxout = 1x6SimulationOutputarray

输入参数

全部折叠

一个万博1manbetx仿真软件。SimulationInput对象或数组万博1manbetx仿真软件。SimulationInput对象,用于指定对仿真模型的更改。

例子:在= Si万博1manbetxmulink.SimulationInput (vdp)

名称-值参数

例子:“ShowProgress”“上”

请注意

传递给parsim命令与使用的参数无关sim卡命令。传递给parsim命令,使用以下输入参数列表

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字价值必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

指定为要附加到并行池的附加文件的单元格数组。

设置为“上”,在命令窗口中查看模拟的进度。当设置为时,进度将被隐藏“关闭”

请注意

当进度显示时,一条消息“清理并行工人……”可以显示之前完成的最后几个模拟。此消息不依赖于模拟的完成。仿真完成时,输出被提取未来.有关更多信息,请参见万博1manbetxSimulink.Simulation.Future

设置为“上”异步运行仿真,保持MATLAB®命令提示符可用。

指定一个函数处理“SetupFcn”在模拟开始之前对每个worker运行一次。

例子:“SetupFcn”,@ ()currentProject(“Modelex / Model_example.prj”)

请注意

buildRapidAcceleratorTarget在SetupFcn中使用,并且模型指定了外部输入,set“LoadExternalInput”“关闭”或确保指定的外部输入在工作人员上是可用的,以防止编译错误。

指定一个函数处理“CleanupFcn”在模拟完成后对每个worker运行一次。

ManageDependencies被设置为在…上,如果需要,模型依赖会自动发送给并行工作程序。如果ManageDependencies被设置为,显式地将模型依赖项附加到并行池。

UseFastRestart被设置为在…上,模拟运行在工人使用快速重启。

当执行参数扫描时,Simscape™组件的不同属性(例如Simscape Multibody中的Solid块的质量和惯性),将Simscape块参数指定为运行时可配置的。有关更多信息,请参见关于Simscape运行时参数(Simscape)

请注意

当使用parsim,可以使用UseFastRestart选项,而不是FastRestart选择。看到开始快速重启为更多的信息。

TransferBaseWorkspaceVariables被设置为在…上,模型中使用的变量和基本工作空间中定义的所有东西都被转移到并行工作人员。

“ShowSimulationManager”被设置为“上”,您可以使用仿真管理器应用程序来监控仿真。

设置“StopOnError”“上”如果遇到错误,将停止模拟的执行。

输出参数

全部折叠

一系列万博1manbetx仿真软件。SimulationOutput对象,该对象包含所有已记录的模拟结果。数组的大小等于数组的大小万博1manbetx仿真软件。SimulationInput对象。

所有仿真输出(记录的时间、状态和信号)以单个方式返回万博1manbetx仿真软件。SimulationOutput对象您可以定义使用记录的模型时间、状态和输出数据导入/导出“模型配置参数”对话框的窗格。您可以使用诸如到工作空间范围块。的信号和范围经理可以直接记录信号。

扩展功能

介绍了R2017a