Parsim with Parallel Computing Toolbox provides unexpected results.

15 次查看(过去 30 天)
I have the Parallel Computing Toolbox so that I can ultimately use parsim() to run a simulink model, containing six blocks, in parallel. The idea is to run each model with a different block enabled so that the blocks run in parallel.
As an experiment, I ran the model with one block enabled but ran sim(). It provided an expected figure with results.
When I then ran that model with the same block enabled but ran parsim(), it provided a blank figure.
How does pasim() run? I expected the same results with parsim() and sim() in this very simple case.

回答(1 个)

Ed Marquez
Ed Marquez 2017-5-19
编辑:Walter Roberson 2017-5-19
Hi Elizabeth,
the blog post below has a good description of the setup that you may need to run the Simulink model using parsim.
It comes down to properly creating the Simulink.SimulationInput object.
As the article says, by creating one Simulink.SimulationInput per simulation, you can define the properties specific to each run, including initial states, model parameters, block parameters, input signals, and variables used by the model.
  6 个评论
Rahul Kumar
Rahul Kumar 2018-9-4
If variables are loaded separately from the model, you can use the 'TransferBaseWorkspaceVariables' option with parsim.
You could also use a data dictionary to store the variables used in the model in which case parsim will automatically pick them up for use on the parallel workers. https://www.mathworks.com/help/simulink/ug/what-is-a-data-dictionary.html

请先登录,再进行评论。

类别

Find more on Run Multiple Simulations in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by