MATLAB中parsim用法

目录

语法

说明

示例

在快速加速模式下使用 parsim

使用 parsim 以并行方式仿真模型


        parsim的功能是以并行或串行方式进行多次动态系统仿真。

语法

simOut = parsim(in)
simOut = parsim(in,'ShowSimulationManager','on')
simOut = parsim(in,Name,Value)

说明

        simOut = parsim(in) 使用 SimulationInput 对象 in 中指定的输入对模型进行仿真。parsim 命令使用 SimulationInput 对象数组作为输入来运行多个仿真。

        simOut = parsim(in,'ShowSimulationManager','on') 使用 SimulationInput 对象中指定的输入对模型进行并行仿真,并打开仿真管理器 UI。有关详细信息,请参阅 Simulation Manager。

        simOut = parsim(in,Name,Value) 使用 SimulationInput 对象中指定的输入和指定为 Name,Value 对组的选项对模型进行并行仿真。

        parsim 命令使用 Parallel Computing Toolbox™ 许可证以并行方式运行仿真。如果无法创建并行池,或者未使用 Parallel Computing Toolbox,则 parsim 以串行方式运行仿真。

示例

在快速加速模式下使用 parsim

        在快速加速模式下仿真模型 vdp。加载模型。

model = 'vdp';
load_system(model)

        此步骤构建快速加速目标

Simulink.BlockDiagram.buildRapidAcceleratorTarget(model);

创建 SimulationInput 对象并使用 setModelParameter 方法将 RapidAcceleratorUpToDateCheck 设置为 'off'。

in = Simulink.SimulationInput(model);
in = in.setModelParameter('SimulationMode', 'rapid-accelerator');
in = in.setModelParameter('RapidAcceleratorUpToDateCheck', 'off');

对模型进行仿真。

out = parsim(in)

使用 parsim 以并行方式仿真模型

        通过扫描变量以并行方式仿真模型 CSTR。执行扫描时,使用了 SimulationInput 对象的数组。指定扫描值。

FeedTempSweep = 250:10:300;

        创建 SimulationInput 对象的数组。

for i = length(FeedTempSweep):-1:1
in(i) = Simulink.SimulationInput('CSTR');
in(i) = in(i).setVariable('FeedTemp0',FeedTempSweep(i));
end

        以并行方式仿真模型。

out = parsim(in, 'ShowSimulationManager', 'on')
[29-Jun-2022 15:05:52] Checking for availability of parallel pool...
Starting parallel pool (parpool) using the 'Processes' profile ...
Connected to the parallel pool (number of workers: 6).
[29-Jun-2022 15:07:01] Starting Simulink on parallel workers...
[29-Jun-2022 15:07:34] Configuring simulation cache folder on parallel workers...
[29-Jun-2022 15:07:35] Loading model on parallel workers...
[29-Jun-2022 15:07:49] Running simulations...
[29-Jun-2022 15:08:24] Completed 1 of 6 simulation runs
[29-Jun-2022 15:08:24] Completed 2 of 6 simulation runs
[29-Jun-2022 15:08:24] Completed 3 of 6 simulation runs
[29-Jun-2022 15:08:27] Completed 4 of 6 simulation runs
[29-Jun-2022 15:08:28] Completed 5 of 6 simulation runs
[29-Jun-2022 15:08:28] Completed 6 of 6 simulation runs
[29-Jun-2022 15:08:28] Cleaning up parallel workers...

out = 

1x6 Simulink.SimulationOutput array

参数说明

in — 用于对模型进行仿真的 Simulink.SimulationInput 对象

用于在仿真中指定对模型所作更改的 Simulink.SimulationInput 对象或 Simulink.SimulationInput 对象的数组。

示例:in = Simulink.SimulationInput('vdp')

示例:for i = 10:-1:1 in(i) = Simulink.SimulationInput('vdp'); end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值