主要内容

Parsim

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

描述

例子

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

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

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

Parsim命令使用Parallel Computing Toolbox™许可证以并行方式运行模拟。Parsim如果不能创建并行池或没有使用并行计算工具箱,则串行地运行模拟。

例子

全部折叠

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

加载模型。

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

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

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

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

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

模拟模型。

OUT = Parsim(in)

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

指定扫描的值。

FeedTempsweep = 250:10:3​​00;

创建一系列仿真量对象。

为了i = length(feedtempsweep): -  1:1在(i)= 金宝appsimulink.simulationInput(“装运箱”);在(我)=(我).setVariable (“FeedTemp0”FeedTempSweep(我));结束

并行模拟模型。

出局= Parsim(在,'showprogress''上'
[11-DEC-2020 09:14:55]检查并行池的可用性......使用“本地”配置文件启动并行池(PARPOOL)...连接到并行池(工人数量:6)。[11-Dec-2020 09:15:43]在并行工人上启动Si金宝appmulink ... [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]完成了6个模拟运行中的3个[11-dec-2020 09:17:00]的6个模拟中的4个跑步[11-DEC-2020 09:17:01]完成了5个仿真运行中的5个[11-10-2020 09:17:01] 6个仿真运行中的6个[11-dec-2020 09:17:02]清洁平行工人... OUT = 1x6 Simulink.simula金宝apptionOutput数组

输入参数

全部折叠

一种金宝appsimulink.simulationInpul.对象或数组金宝appsimulink.simulationInpul.对象,该对象用于指定对模拟模型的更改。

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

名称-值对的观点

例子:'showprogress''上'

笔记

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

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

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

调成'上',查看命令窗口中模拟的进度。设置时的进度是隐藏的“关闭”

笔记

当显示进度时,一条消息“清理平行工……”可以在完成最后几个模拟之前显示。此消息不依赖于模拟的完成。当从中获取输出时,仿真完成未来。有关更多信息,请参阅金宝appSimulink.Simulation.Future

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

指定一个功能手柄“SetupFcn”在仿真开始之前每个工作人员运行一次。

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

笔记

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

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

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

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

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

笔记

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

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

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

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

输出参数

全部折叠

的数组金宝appsimulink.simulationOutput.包含所有记录的模拟结果的对象。阵列的大小等于数组的大小金宝appsimulink.simulationInpul.对象。

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

扩展能力

在R2017A介绍