set a parameter in a contantblock during external simulation with a parfor loop.

1 次查看(过去 30 天)
Hi, I want to use sim to simulate an external model 200 times. This should go fast so I'm using parfor. The problem is that the number of the current simulation has to be implied in the model called MPC_model (in a constant block named iteration) every time the sim function is used. I tried several thinks like this:
matlabpool;
parfor i=1:200
iteration=int2str(i);
set_param('MPC_model/iteration','Value',iteration);
[t,x,y1,y2]=sim('MPC_model',[Main_Time; Main_Time+12*48]);
all_gatelevels=[all_gatelevels,y1];
schade=[schade,y2];
end
I usually get problems that the submodel can't find variables that are defined in the workspace of the main model. When I try slightly different things like adding 'SimulationMode', 'rapid' I get other errors (f.e. that there might only be 1 output).
Does anyone know how I can get this to work?

采纳的回答

Kaustubha Govind
Kaustubha Govind 2012-12-26
Please read Run Parallel Simulations. In particular, the sections titled sim in parfor with Rapid Accelerator Mode and Resolving Workspace Access Issues may be of interest to you.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Multicore Processor Targets 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by