主要内容

parsim

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

描述

例子

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

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

simOut= parsim (名称,值中指定的输入并行模拟模型SimulationInput对象指定的选项名称,值对。

parsim命令使用Parallel Computing Toolbox™许可证以并行方式运行模拟。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对象数组。

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

并行模拟模型。

= parsim (,“ShowProgress”“上”
[11-Dec-2020 09:14:55]检查并行池的可用性…使用'local'配置文件启动并行池(parpool)…Connected to the parallel pool (number of workers: 6).连接到并行池(parallel pool)。万博1manbetx[11-Dec-2020 09:16:17]在并行工作器上配置模拟缓存文件夹…平行工人的加载模型…[11-Dec-2020 09:16:25]运行模拟…[11-Dec-2020 09:16:58] Completed 1 of 6 simulation runs [11-Dec-2020 09:16:58] Completed 2 of 6 simulation runs [11-Dec-2020 09:16:58] Completed 3 of 6 simulation runs09:17:02]清理平行工人…out = 1x6 万博1manbetxSimulink。SimulationOutputarray

输入参数

全部折叠

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

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

名称-值对的观点

例子:“ShowProgress”“上”

请注意

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

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

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

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

请注意

当显示进度时,会显示一条消息“清理平行工……”可在完成前显示最后几次模拟。此消息不依赖于模拟的完成。的输出时,模拟就完成了未来.有关更多信息,请参见万博1manbetxSimulink.Simulation.Future

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

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

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

请注意

buildRapidAcceleratorTarget在SetupFcn中使用,并且模型有指定的外部输入,设置“LoadExternalInput”“关闭”或者确保指定的外部输入在工作器上可用,以防止编译错误。

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

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

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

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

请注意

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

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

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

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

输出参数

全部折叠

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

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

扩展功能

介绍了R2017a