How can I use a parfor loop in matlab for a simulink simulation using structs?

25 views (last 30 days)
Hello,
I have a simulink model with different outputs (to workspace - matrix) and one input x (factor) that I want to run in a parfor loop. The simulation takes hours so I wanted to use parallel computing, storing the results in structs (or what else would be possible?). I always get the message 'syntax error' - (its working as a normal for loop) who can show me the problem? thanks! marcus
tic
matlabpool open 8
factor= 1:10;
parfor counter= 1:10
x = factor(counter);
sim('M_Campusnetz_working_modell');
counter.(['Durchlauf_' num2str(counter)]).Voltage= simout_NVP_Voltage;
counter.(['Durchlauf_' num2str(counter)]).Current= simout_NVP_Current;
end
matlabpool close
toc

Answers (1)

Edric Ellis
Edric Ellis on 10 Dec 2013
There's lots of information about using Simulink inside PARFOR here. I think you need to use the single-output-argument form of the SIM command.
  2 Comments
Kaustubha Govind
Kaustubha Govind on 18 Dec 2013
Is the 'frequency' value for the powergui block or any source block in your model set to a workspace variable?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!