How to programmatically stop simulation when output converges

21 visualizaciones (últimos 30 días)
I am running a model to do somthing like Monta Carlo simulation.
The output will get to a stable value after enough time, sometimes it takes longer, sometimes it takes less time.
To save the simulation time (there are several thousands of simulations to do), how can I programmatically set dynamic simulation time or stop simulation when output gets stable?
If there is even a solution for parallel computing, that would be even better.
Thanks and BR
  2 comentarios
Walter Roberson
Walter Roberson el 22 de Feb. de 2020
Is this Simulink or pure MATLAB ?
Yunyu Hu
Yunyu Hu el 26 de Feb. de 2020
Hi,
the model is in Simulink.
to run the model with varying parameters I use some thing like this:
k = Simulink.Parameter
k.CoderInfo.StorageClass = 'SimulinkGlobal';
k.Value = -0.9;
mdl = 'sldemo_bounce';
rtp = Simulink.BlockDiagram.buildRapidAcceleratorTarget(mdl);
k_values = [-0.9:0.1:-0.1];
for i = 1:length(k_values)
paramSet(i) =
Simulink.BlockDiagram.modifyTunableParameters(rtp, ...
'k', k_values(i));
end
for i = 1:length(k_values)
simout(i) = sim(mdl,'SimulationMode','rapid',...
'RapidAcceleratorUpToDateCheck','off', ...
'RapidAcceleratorParameterSets',paramSet(i));
end
But as I said, in my model the simulation output will reach a stable value after certain time, and this time is varying. Because the simulation amount is huge, therefore I think if I can dynamically stop the simulation when the value stablizes, thus I can save some time?
Thanks and BR

Iniciar sesión para comentar.

Respuesta aceptada

Vimal Rathod
Vimal Rathod el 27 de Feb. de 2020
You could use a Stop Simuation Block to stop the simulation by defining a condition which you want to satisfy before stopping the simulation.
You need to construct some logic which gives a boolean input to the stop simulation block.

Más respuestas (0)

Categorías

Más información sobre Monte-Carlo en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by