主要内容

运行并行模拟

parsim命令允许您对您的模型(设计)运行并行(同时)的Simulink®仿真。万博1manbetx在这种情况下,并行运行意味着在不同的工作人员上同时进行多个模拟。parsim在蒙特卡洛分析、参数扫描、模型测试、实验设计和模型优化等场景中,使用不同的输入或不同的参数设置运行相同的模型很容易。目前不支持通过将模型分解为更小的组件并在多个worker上同时运行这些单独的部分来并行运行单个模拟。万博1manbetx

并行运行模拟parsim,您需要一个并行计算工具箱™本地工作人员。此外,您可以使用MATLAB®并行服务器™用于多个计算机集群、云和网格。在没有并行计算工具箱和MATLAB并行服务器parsim串行运行模拟。有关更多信息,请参见并行计算工具箱MATLAB并行服务器

如果不存在并行池,parsim从默认集群配置文件创建池。要使用非默认的集群,请在调用之前使用该集群配置文件创建一个池parsim

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

% 1)加载模型模型=“sldemo_suspn_3dof”;load_system(模型);% 2)设置扫描参数Cf_sweep = 2500 * (0.05:0.1:0.95);numSims =元素个数(Cf_sweep);% 3)创建一个SimulationInput对象数组,并为每个模拟指定扫描值思敏(1:numSims) = Sim万博1manbetxulink.SimulationInput(模型);numSims simIn(idx) = simIn(idx).setBlockParameter([model . numSims . numblockparameter]/ Road-Suspension交互的],Cf的num2str (Cf_sweep (idx)))结束% 4)模拟模型simOut = parsim(思)

如何parsim作品

parsim运行仿真与不同的参数和值基于万博1manbetx仿真软件。SimulationInput对象。每一个SimulationInput对象指定模型的一个模拟。可以为多个模拟创建这些对象的数组。有关更多信息,请参见运行多个模拟

可以使用以下方法和属性万博1manbetx仿真软件。SimulationInput对象:

  • setVariables-修改基本工作空间、数据字典或模型工作空间中的变量

  • setBlockParameters-更改块参数

  • setModelParameters-改变模型参数

  • setPreSimFcn-指定MATLAB函数在每次模拟之前运行,用于在集群上自定义和后处理结果

  • setPostSimFcn-指定MATLAB函数在每次模拟后运行,用于在集群上定制和后处理结果

  • InitialState—修改初始状态

  • ExternalInput-指定数值数组、时间序列或数据集对象作为模型的外部输入

此流程图显示了当发生的事件的一般顺序parsim执行

使用时可以覆盖对模型库块的更改parsim.当在新的worker上建立模型时,模型直接从worker库继承属性。使用SetUpFcnparsim将模型库块更改传递给工作人员。

另请参阅

||||||||||

相关的话题