changing the simulation time in simulink through script

11 Ansichten (letzte 30 Tage)
Arun Badigannavar
Arun Badigannavar am 11 Dez. 2012
Kommentiert: David am 5 Jun. 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 Kommentare
Vishal Rane
Vishal Rane am 11 Dez. 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 am 11 Dez. 2012
Yes both Mr Walter and Mr Vishal are right,,,do u have any idea?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

TAB
TAB am 11 Dez. 2012
Bearbeitet: TAB am 11 Dez. 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 Kommentare
TAB
TAB am 11 Dez. 2012
Bearbeitet: TAB am 11 Dez. 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 am 5 Jun. 2014
For more on changing parameters, see Tunable Parameters Documentation

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Modeling finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by