parsim

以并行或串行方式对动态系统进行多次模拟

描述

例子

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

simOut= parsim (,“ShowSimulationManager”,“上”)方法中指定的输入并行地模拟模型SimulationInput对象并打开仿真管理器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对象数组。

我=长度(FeedTempSweep): 1:1;在(我)= Si万博1manbetxmulink.SimulationInput (“装运箱”);在(我)=(我).setVariable (“FeedTemp0”FeedTempSweep(我));结束

并行模拟模型。

= parsim (,“ShowProgress”,“上”)
检查并行池的可用性…使用“本地”配置文件启动并行池(parpool)…连接到6个工人。将Simulink加载到并行工作程序上……万博1manbetx在并行工作器上配置模拟高速缓存文件夹…[08-Jan-2018 14:11:40]并行工人加载模型…运行模拟…(08 - 1月- 2018 14:12:04)完成1 6模拟运行(08 - 1月- 2018 14:12:04)完成2 6模拟运行(08 - 1月- 2018 14:12:04)完成3 6模拟运行(08 - 1月- 2018 14:12:08)完成4 6模拟运行(08 - 1月- 2018 14:12:09)完成5 6模拟运行(08 - 1月- 2018 14:12:09)完成6 6模拟运行(08 - 1月- 2018 14:12:09)清理平行工人……out = 1x6 万博1manbetxSimulink。模拟Output array

输入参数

全部折叠

一个万博1manbetxSimulink.SimulationInput对象或数组万博1manbetxSimulink.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中使用,且模型有指定的外部输入,是设置“LoadExternalInput”“关闭”或者确保指定的外部输入在工作者上可用,以防止编译错误。

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

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

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

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

请注意

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

TransferBaseWorkspaceVariables被设置为,模型中使用的变量和基本工作区中定义的所有内容都被传输到并行工作人员。

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

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

输出参数

全部折叠

的数组万博1manbetxSimulink.SimulationOutput对象,其中包含所有已记录的模拟结果。数组的大小等于数组的大小万博1manbetxSimulink.SimulationInput对象。

所有模拟输出(日志记录的时间、状态和信号)都在一个单独的输出中返回万博1manbetxSimulink.SimulationOutput对象。方法定义记录的模型时间、状态和输出数据导入/导出“模型配置参数”对话框的窗格。可以使用块记录信号到工作空间范围块。的信号和范围管理器可以直接记录信号。

扩展功能

介绍了R2017a