模拟不同子系统的启动激活使用parsim
这个例子展示了如何用启动
激活时间使用parsim
.方法可以并行模拟多个配置变异激活时间设置为启动
使用parsim
.每个配置将有一个活动的变体。
模型
打开模型slexVariantSubsystemsWithParSim
.该模型包含一个可变子系统块控制器
有两种选择线性控制器而且非线性控制器有了这些条件Vss_mode == 1
而且Vss_mode == 2
分别。设置变异激活时间
来启动
在块的参数对话框。
open_system (“slexVariantSubsystemsWithParSim.slx”);
步骤1 -为每个变量选择设置活动变量选择
为每个变量选择设置活动变量选择,并将模拟的数量设置为与变量选择的数量相等。在这个示例模型中,我们有两种不同的选择。
mdl =“slexVariantSubsystemsWithParSim”;numSims = 2;varControl = [1,2];
步骤2 -创建SimulationInput
对象
创建SimulationInput
对象,并为每次运行设置变量控制值。
in(1:numSims) = 万博1manbetxSimulink.SimulationInput(mdl);为idx = 1:numSims in(idx) = in(idx).setModelParameter(“SimulationMode”,“快速”,...“RapidAcceleratorUpToDateCheck”,“上”,...“SaveTime”,“上”,...“SaveOutput”,“上”);in(idx) = in(idx).setVariable(“VSS_MODE”varControl (idx));结束
3 .使用parsim
模拟模型
使用parsim
对每个变量控制值并行模拟模型。
Out = parsim(in,“ShowProgress”,“上”);
检查并行池的可用性…使用“Processes”配置文件启动并行池(parpool)…[31-Aug-2022 01:54:01]在并行工作者上启动Simulink…万博1manbetx[31-Aug-2022 01:55:07]在并行工作器上配置模拟缓存文件夹…[31- 8 -2022 01:55:07]装载模型在并行工作上…[01:55:55]运行模拟…[31-Aug-2022 01:56:35]完成2个模拟运行中的2个,清理并行工人…
您可以使用parsim
与SetupFcn
.这是可选的。如果你跑parsim
没有SetupFcn
,设置RapidAcceleratorUpToDateCheck
来在
.
out = parsim(in, 'ShowProgress', 'on', 'SetupFcn', @() slexVariantSubsystemsWithParSim_script_setup(mdl));
安装脚本,slexVariantSubsystemsWithParSim_script_setup.m
为模型建立快速加速目标。
步骤4 -绘制输出值
现在绘制每次运行的结果。
为i = 1:numSims simOut = out(i);t = simOut.tout;y = simOut.yout;(t, y)保持所有结束