主要内容

parsim

对动态系统进行多次并行或串行仿真

描述

例子

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

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

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

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

例子

全部折叠

模拟模型,vdp,处于快速加速模式。

加载模型。

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

此步骤构建快速加速器目标

金宝appSimulink.BlockDiagram.buildRapidAcceleratorTarget(模型);

创建一个SimulationInput对象和用途setModelParameter要设置的方法RapidAcceleratorUpToDateCheck“关闭”

in = 金宝appSimulink.SimulationInput(model);in = in. setmodelparameter (“SimulationMode”“rapid-accelerator”);in = in. setmodelparameter (“RapidAcceleratorUpToDateCheck”“关闭”);

模拟模型。

Out = parsim(in)

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

指定扫描值。

FeedTempSweep = 250:10:300;

创建一个SimulationInput对象数组。

i = length(FeedTempSweep):-1:1 in(i) = 金宝appSimulink。SimulationInput (“装运箱”);in(i) = in(i).setVariable(“FeedTemp0”FeedTempSweep(我));结束

并行模拟该模型。

Out = parsim(in,“ShowProgress”“上”
[11-12-2020 09:14:55]检查并行池的可用性…使用“本地”配置文件启动并行池(parpool)…[11-12-2020 09:15:43]在并行工作上启动Simulink…金宝app[11-12-2020 09:16:17]在并行工作者上配置模拟缓存文件夹…[11-12-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次模拟运行中的3次[11-12-2020 09:17:00]完成6次模拟运行中的4次[11-12-2020 09:17:01]完成6次模拟运行中的6次[11-12-2020 09:17:02]清理并行工人…out = 1x6 金宝appSimulink。SimulationOutputarray

输入参数

全部折叠

一个金宝app仿真软件。SimulationInput对象的数组金宝app仿真软件。SimulationInput对象,用于指定对模拟的模型的更改。

例子:in = 金宝appSimulink.SimulationInput('vdp')

名称-值参数

例子:“ShowProgress”“上”

请注意

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

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

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

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

请注意

当显示进度时,将显示一条消息“清理并行工人…”可能在最后几个模拟完成之前显示。此消息不依赖于模拟的完成情况。类获取输出时,模拟就完成了未来.有关更多信息,请参见金宝appSimulink.Simulation.Future

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

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

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

请注意

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

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

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

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

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

请注意

当使用parsim,使用UseFastRestart选项,而不是FastRestart选择。看到从快速重启开始获取更多信息。

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

“ShowSimulationManager”设置为“上”,您可以使用模拟管理器App监控模拟。

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

输出参数

全部折叠

的数组金宝app仿真软件。SimulationOutput对象,其中包含所有已记录的模拟结果。数组的大小等于数组的大小金宝app仿真软件。SimulationInput对象。

所有的模拟输出(记录的时间、状态和信号)将在单个中返回金宝app仿真软件。SimulationOutput对象。方法定义模型时间、状态和记录的输出数据导入/导出窗格中的“模型配置参数”对话框。可以使用块来记录信号到工作空间而且范围块。的信号和范围管理器可以直接记录信号。

扩展功能

版本历史

在R2017a中引入