changing the simulation time in simulink through script

8 visualizaciones (últimos 30 días)
Arun Badigannavar
Arun Badigannavar el 11 de Dic. de 2012
Comentada: David el 5 de Jun. de 2014
I am controlling my simulink models through MATLAB Script ,and am updating stop time through script,,,The problem here am getting is if i change any parameters value of the simulink while simulink is running,,the simulation calculation is con sidering the changed values from the initial step of the simulation,,,but rather i want my simulation to consider the new parameter value value from the step i chanf=ged while simulation is running
  9 comentarios
Vishal Rane
Vishal Rane el 11 de Dic. de 2012
I guess this is want Arun is trying to say:
He wants to and is able to update certain parameters while the simulation is in progress, suppose at T=500.
But the simulation result indicates that Simulink ran the entire simulation based on the updated parameters only, while he expected both the previous (T=0 to 500) and the updated parameters (T=500 to end) to have a bearing on the result.
Arun Badigannavar
Arun Badigannavar el 11 de Dic. de 2012
Yes both Mr Walter and Mr Vishal are right,,,do u have any idea?

Iniciar sesión para comentar.

Respuesta aceptada

TAB
TAB el 11 de Dic. de 2012
Editada: TAB el 11 de Dic. de 2012
I am not sure how you are managing to change the simulation time during simulation.
But for your parameter value problem :
Simulink evaluates all the parameters values before the start of simulation. See first step of Model compilation.
If you change any parameter during simulation, simulink will not notice it. To tell the simulink to re-calculate the parameters/interfaces, you have to give update command.
After you change the parameter value from scrip, give command
set_param('YourModel', 'SimulationCommand', 'update')
  5 comentarios
TAB
TAB el 11 de Dic. de 2012
Editada: TAB el 11 de Dic. de 2012
for i=1:1:inf
set_param('course_speed_position','StopTime', sprintf('%d',i));
set_param('course_speed_position1','StopTime',sprintf('%d',i));
simOut = sim('model1.mdl');
simOut1 = sim('model2.mdl');
end
This loop will run forever and will never return. Then how will you run other command to pause the model, update parameter etc ???
David
David el 5 de Jun. de 2014
For more on changing parameters, see Tunable Parameters Documentation

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Modeling en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by