主要内容

parsim

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

描述

例子

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

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

simOut= parsim (名称,价值方法中指定的输入并行地模拟模型模拟算法对象和指定为名称,价值对。

parsim命令使用并行计算工具箱™许可证并行运行模拟。parsim如果无法创建并行池,或者如果未使用并行计算工具箱,则在串行运行模拟。

例子

全部收缩

模拟模型,VDP.,快速加速器模式。

加载模型。

模型='vdp';load_system(型号)

这一步构建了快速加速器目标

万博1manbetxsimulink.blockdiagram.buildRapidaccelEratortarget(型号);

创建一个模拟算法对象和使用setmodelparameter.设置的方法RapidAcceleratorUpToDateCheck'离开'

在= si万博1manbetxmulink.simulationInput(Model);在= in.setModelParameter (“SimulationMode”“rapid-accelerator”);在= in.setModelParameter ('Rapidacceleratoruptodatecheck''离开');

模拟模型。

= parsim(中)

通过扫过变量,模拟模型CSTR,CSTR,并行。一系列仿真对象用于执行扫描。

指定扫描值。

FeedTempSweep = 250:10:300;

创建一系列仿真量对象。

为了Simulink. i = length(FeedTempSweep):-1:万博1manbetx1 in(i)SimulationInput ('cstr');在(i)=(i).setvariable('feedtemp0',feedtempsweep(i));结尾

并行模拟模型。

= parsim (,“ShowProgress”“上”
[11-Dec-2020 09:14:55] check for availability of parallel pool…使用“local”配置文件启动并行池(parpool)…[11-Dec-2020 09:15:43] Starting Simulink on parallel workers…万博1manbetx[11-Dec-2020 09:16:17]配置并行工作器上的模拟缓存文件夹…[11-Dec-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次模拟运行中已完成2次[11- 12 -2020 09:16:58]6次模拟运行中已完成3次[11- 12 -2020 09:17:00]6次模拟运行中已完成4次[11- 12 -2020 09:17:01]6次模拟运行中已完成5次[11- 12 -2020 09:17:01]6次模拟运行中已完成6次09:17:02]清理并行的工人…Simulink. 万博1manbetxout = 1x6SimulationOutputarray

输入参数

全部收缩

一个万博1manbetxsimulink.simulationInpul.对象或一系列万博1manbetxsimulink.simulationInpul.对象,该对象用于为模拟指定对模型的更改。

例子:在= si万博1manbetxmulink.simulationInput('VDP')

名称值对参数

例子:“ShowProgress”“上”

请注意

传递给parsim命令与与之使用的参数无关SIM命令。传递给parsim命令,使用以下输入参数列表

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是相应的价值。的名字价值必须出现在单引号内(' ')。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

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

设置为“上”,在命令窗口中查看模拟的进度。当设置为时,进度将被隐藏'离开'

请注意

当进度显示时,一条消息'清理平行工人..'可以显示之前完成的最后几个模拟。此消息不依赖于模拟的完成。仿真完成时,输出被提取未来.有关更多信息,请参见万博1manbetxsimulink.simulation.future.

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

指定A.函数处理'setupfcn'在模拟开始之前对每个worker运行一次。

例子:'setupfcn',@()currentproject('modellex / model_example.prj')

请注意

什么时候BuildRapidaccelEratorTarget.用于setupfcn,模型具有指定的外部输入,无论是设置'loadexternalinput''离开'或确保在工人上使用指定的外部输入以防止编译错误。

指定A.函数处理“CleanupFcn”仿真完成后,每个工作人员运行一次。

什么时候管理竞争被设定为如果需要,模型依赖项将自动发送到并行工人。如果管理竞争被设定为离开,将模型依赖性显式附加到并行池。

什么时候UseFastRestart被设定为,使用快速重启,模拟在工人上运行。

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

请注意

使用时parsim,可以使用UseFastRestart选择而不是FastRestart选择。看到开始快速重启想要查询更多的信息。

什么时候TransferBaseWorkspaceVariables被设定为,模型中使用的变量和基本工作空间中定义的所有东西都被转移到并行工作人员。

什么时候'showsimulationManager'被设定为“上”,您可以使用Simulation Manager应用来监视模拟。

环境“StopOnError”“上”如果遇到错误,请停止执行模拟。

输出参数

全部收缩

的数组万博1manbetx仿真软件。SimulationOutput对象,该对象包含所有已记录的模拟结果。数组的大小等于数组的大小万博1manbetxsimulink.simulationInpul.对象。

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

扩展功能

介绍了R2017a