运行并行模拟
你可以用parsim
运行并行模拟,如简单示例所示。此示例为一组扫描参数并行运行多个模拟。
% 1)负载模型模型=“sldemo_suspn_3dof”;load_system(模型);% 2)设置扫描参数Cf_sweep = 2500*(0.05:0.1:0.95);numSims = nummel (Cf_sweep);% 3)创建一个SimulationInput对象数组,并为每个模拟指定扫描值simIn(1:numSims) = 万博1manbetxSimulink.SimulationInput(model);为setblockparameter ([model . idx] = 1:numSims simIn(idx) = simIn(idx)/ Road-Suspension交互的],Cf的num2str (Cf_sweep (idx)))结束% 4)模拟模型simOut = parsim(simIn)
parsim概述
的parsim
命令允许您运行并行(同时)Simulink®模拟您的模型(设计)。万博1manbetx在这种情况下,并行运行意味着在不同的工人上同时进行多个模拟。parsim
使您可以轻松地在蒙特卡罗分析、参数扫描、模型测试、实验设计和模型优化等场景中运行具有不同输入或不同参数设置的相同模型。目前不支持通过将模型分解为较小的组件并在多个工人上同时运行这些单独的部分来并行运行单个模拟万博1manbetx
来并行运行模拟parsim
,您需要为本地工作人员提供并行计算工具箱™。此外,您还可以使用MATLAB®分布式计算服务器™适用于多个计算机集群、云和网格。在没有并行计算工具箱和MATLAB分布式计算服务器,parsim
串行运行模拟。有关更多信息,请参见并行计算工具箱和MATLAB分布式计算服务器.
parsim
如果不存在并行池,将从默认集群配置文件创建一个池。若要使用默认集群以外的集群,请在调用之前使用该集群配置文件创建一个池parsim
.
parsim是如何工作的
的基础parsim
是基于万博1manbetx仿真软件。SimulationInput
.每个SimulationInput对象指定模型的一个模拟。可以为多个模拟创建这些对象的数组。有关更多信息,请参见运行多个模拟.
这个流程图向您展示了何时发生的一般工作流程parsim
是exectued
上的下列方法和属性万博1manbetx仿真软件。SimulationInput
对象:
setVariables
—修改基本工作区、数据字典或模型工作区中的变量setBlockParameters
-更改块参数setModelParameters
-更改模型参数PreSimFcn
-指定MATLAB函数在每次仿真之前运行,以便在集群上进行定制和后处理结果PostSimFcn
-指定每次仿真后运行的MATLAB函数,用于在集群上进行定制和后处理结果InitialState
—修改初始状态ExternalInput
-指定数值数组、时间序列或数据集对象作为模型的外部输入
另请参阅
ExternalInput
|仿真管理器
|万博1manbetx仿真软件。SimulationInput
|applyToModel
|setBlockParameter
|setInitialState
|setModelParameter
|setPostSimFcn
|setPreSimFcn
|setVariable
|验证