主要内容

Parsim

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

描述

例子

sim= Parsim(的)使用指定的输入模拟模型SimulationInput对象,。这Parsim命令使用的数组SimulationInput对象来运行多个模拟。

sim= Parsim(“ShowSimulationManager”'在'的)使用指定的输入并行模拟模型SimulationInput对象并打开Simulation Manager UI。有关更多信息,请参阅仿真管理器

sim= Parsim(名称,值的)使用指定的输入并行模拟模型SimulationInput对象和指定的选项名称,值一对。

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

例子

全部折叠

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

加载模型。

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

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

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

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

在= Si万博1manbetxmulink.SimulationInput(模型);在= in.setModelParameter('simulationmode''快速加速器');在= in.setModelParameter(“RapidAcceleratorUpToDateCheck”“关闭”);

模拟模型。

OUT = Parsim(in)

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

指定扫描的值。

FeedTempsweep = 250:10:3​​00;

创建一系列仿真量对象。

为了i =长度(FeedTempsweep): -  1:1在(i)= simul万博1manbetxink.simulationInput(“装运箱”);在(我)=(我).setVariable (“FeedTemp0”FeedTempSweep(我));结束

并行模拟模型。

出局= Parsim(在,'showprogress''在'的)
[11-DEC-2020 09:14:55]检查并行池的可用性...使用“本地”配置文件启动并行池(PARPOOL)...连接到并行池(工人数量:6)。[11-Dec-2020 09:15:43]在并行工人上启动Si万博1manbetxmulink ... [11-Dec-2020 09:16:16]在并行工作人员上配置模拟缓存文件夹[11-DEC-2020 09:16:17]加载平行工人的模型... [11-DEC-2020 09:16:25]运行模拟... [11-DEC-2020 09:16:58]完成了6个模拟运行中的1个[11-12月20日09:16:58]完成了6个模拟运行中的2个[11-dec-2020 09:16:58]完成了3个仿真运行中的3个[11-dec-2020 09:17:00]的6个模拟跑步[11-DEC-2020 09:17:01]完成了6个模拟运行中的5个[11-DEC-2020 09:17:01] 6个模拟运行中的6个[11-DEC-2020 09:17:02]清洁平行工人... OUT = 1x6 Simulink.simula万博1manbetxtionOutput数组

输入参数

全部折叠

一种万博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中使用,并且模型指定了外部输入,set“LoadExternalInput”“关闭”或确保指定的外部输入在工作人员上是可用的,以防止编译错误。

指定一个功能手柄'cleanupfcn'在模拟完成后对每个worker运行一次。

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

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

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

笔记

当使用Parsim, 使用usefastrestart.选项,而不是Fastrestart.选项。看快速重启开始为更多的信息。

TransferBaseWorksPacevariables.被设置为,模型中使用的变量和基础工作空间中定义的所有内容被传送到并行工人。

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

设置'stoponerror''在'如果遇到错误,将停止模拟的执行。

输出参数

全部折叠

的数组万博1manbetxsimulink.simulationOutput.包含所有记录的模拟结果的对象。阵列的大小等于数组的大小万博1manbetx仿真软件。SimulationInput对象。

所有仿真输出(记录的时间,状态和信号)都在单个中返回万博1manbetxsimulink.simulationOutput.对象。属性定义模型时间、状态和记录的输出数据导入/导出“模型配置参数”对话框中的。可以使用块来记录信号到工作空间范围块。这信号和范围经理可以直接记录信号。

扩展能力

在R2017A介绍