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“关闭”

在= Si金宝appmulink.SimulationInput(模型);在= in.setModelParameter('SimulationMode'“快速加速器”);在= in.setModelParameter('RapidAcceleratorUpToDateCheck'“关闭”);

模拟模型。

OUT = parsim(上)

模拟模型,CSTR,在由平行扫过的变量。SimulationInput对象的数组被用于执行扫描。

指定扫描的值。

FeedTempSweep = 250:10:3​​00;

创建SimulationInput对象数组。

对于I =长度(FeedTempSweep): -  1:1;在步骤(i)= 金宝appSimulink.SimulationInput(“装运箱”);在(我)=(我).setVariable (“FeedTemp0”FeedTempSweep(我));结束

并行模拟该模型。

OUT = parsim(在,'ShowProgress''上'
检查并行池的可用性…使用“本地”配置文件启动并行池(parpool)…与6名工人联系。在并行工人上加载Simulink…金宝app在并行工作者上配置模拟缓存文件夹…[08- 1月-2018 14:11 . 40]并行工人加载模型…[08- 1月-2018 14:11:48]运行模拟…(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)清理平行工人……输出= 1x6 Si金宝appmulink。模拟Output array

输入参数

全部折叠

一个金宝appSimulink.SimulationInput物体或阵列金宝appSimulink.SimulationInput对象,用于指定对模拟模型的更改。

例子:在= Si金宝appmulink.SimulationInput (vdp)

名称-值对的观点

例子:'ShowProgress''上'

注意

传递给所有的参数parsim属性使用的参数与命令无关SIM卡命令。传递给parsim命令,使用下面的输入参数列表

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

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

调成'上',看到在命令窗口中模拟的进展。当设置为进度隐藏“关闭”

注意

当显示了进步,消息“清理平行工人……”过去几年的模拟完成之前,可能会显示。此消息不依赖于模拟完成。模拟完成时的输出获取来自未来。欲了解更多信息,请参阅金宝appSimulink.Simulation.Future

调成'上'异步运行模拟,保持MATLAB®命令提示符下可用。

指定一个功能手柄“SetupFcn”在模拟开始前每个工人运行一次。

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

注意

buildRapidAcceleratorTarget在SetupFcn的使用量和模型具有指定的外部输入,任一组“LoadExternalInput”“关闭”或者确保指定的外部输入在workers上可用,以防止编译错误。

指定一个功能手柄'CleanupFcn'模拟完成后,每个工人运行一次。

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

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

当执行参数扫描改变一个的Simscape™组件(例如质量和多体的Simscape固体块的惯量)的属性中,指定的Simscape块参数作为运行时可配置的。欲了解更多信息,请参阅关于的Simscape运行时参数(的Simscape)。

注意

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

TransferBaseWorkspaceVariables被设置为,在模型中,并在基工作区定义的所有使用的变量被转移到并行的工人。

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

设置'STOPONERROR''上'如果遇到错误,停止模拟的执行。

输出参数

全部折叠

的数组金宝appSimulink.SimulationOutput它包含了所有记录的模拟结果的对象。阵列的大小等于阵列的大小金宝appSimulink.SimulationInput对象。

所有模拟输出(记录的时间,状态和信号)在一个单一的返回金宝appSimulink.SimulationOutput目的。您定义模型时,状态和输出,使用记录数据导入/导出模型配置参数对话框中的窗格。您可以登录使用的块如信号到工作空间范围块。该信号和范围经理可以直接记录信号。

扩展功能

介绍了在R2017a