主要内容

运行并行模拟

Parsim命令允许您并行运行(同时)simulink金宝app®模型的模拟(设计)。在这种情况下,并行运行的是同时对不同工人的多个模拟。Parsim在蒙特卡洛分析,参数扫描,模型测试,实验设计和模型优化等方案中,您可以轻松地运行具有不同输入或不同参数设置的相同模型。目前不支持通过将模型分解为较小的组件并同时在多个工人上同时运行这些单独的作品,从而并行运行单个模拟。金宝app

并行运行模拟Parsim,您需要针对本地工人的并行计算工具箱™。此外,您可以使用MATLAB®Parallel Server™用于多个计算机簇,云和网格。在没有并行计算工具箱和MATLAB并行服务器,,,,Parsim在串行中运行模拟。有关更多信息,请参阅并行计算工具箱MATLAB并行服务器

如果不存在平行池,Parsim从默认集群配置文件中创建一个池。要使用默认值以外的群集,请在调用之前使用该群集配置文件创建一个池Parsim

此示例为一组扫描参数并行运行多个模拟。

%1)负载模型openexample('sldemo_suspn_3dof');模型='sldemo_suspn_3dof';load_system(型号);%2)设置扫描参数cf_weep = 2500*(0.05:0.1:0.95);numsims = numel(cf_weep);%3)创建一个模拟对象的数组,并为每个仿真指定扫描值simin(1:numsims)= s金宝appimulink.simulationInput(模型);为了idx = 1:numsims simin(idx)= simin(idx).setBlockParameter([模型“/道路悬浮互动”],,'cf',num2str(cf_weep(idx)))结尾%4)模拟模型simout = parsim(simin)

如何Parsim作品

Parsim根据基于不同的参数和值运行模拟金宝appSimulink.SimulationInput目的。每个仿真input对象指定模型的一个模拟。可以为多个模拟创建这些对象的数组。有关更多信息,请参阅运行多个模拟

您可以使用以下方法和属性金宝appSimulink.SimulationInput目的:

  • setVariables- 更改基本工作区,数据字典或模型工作区中的变量

  • setBlockParameter- 更改块参数

  • setModelParameter- 更改模型参数

  • setpresimfcn- 指定在每次仿真之前运行的MATLAB函数,以进行自定义和群集的后处理结果

  • setPostsimfcn- 指定MATLAB函数以在每个模拟后运行以进行自定义和群集的后处理结果

  • 初始状态- 更改初始状态

  • 外部递减- 指定数值数组,时间表或数据集对象为模型的外部输入

该流程图显示了一般事件的一般顺序Parsim被执行

使用模型库块的更改时可以覆盖Parsim。当新工人建立模型时,模型直接从工作库中继承属性。利用设置Parsim将模型库块转移给工人。

也可以看看

对象

功能

工具

相关话题