Simulink - Times
3 views (last 30 days)
Show older comments
Hi,
is there a command which gives me the simulation time (not the real time) of my simulink simulation when I stop it manually? I would only need it at the end of the simulation in Matlab.
I am using callback functions and I can get the total simulation time by t_sim = str2num(get_param('model','StopTime')) However, this time does not depend on when I stop the simulation manually.
I would need a command which gives me the actual simulation time and I could implement it as a callback StopFcn.
Thank you
0 Comments
Accepted Answer
Fangjun Jiang
on 15 Nov 2011
There are two ways.
If you are using sim() to run the simulation, then use [T,X,Y]= sim('model',TIMESPAN,OPTIONS,UT), T(end) will be the stop time that you need.
In the Data Import/Export portion of the Configuration Parameters dialog, check the "Time" option, the time vector will be saved to the variable "tout" in the workspace. When you manually stop the simulation, tout(end) will be the stop time.
Another way is to manually "pause" the simulation, instead of stop the simulation. You'll see the pause time at the status bar (the bar at the bottom of your model window). Then you can stop the simulation.
Or you can put a "Clock" block (in Source library) and a "Display" block (in Sinks library) at the root level of your model. When you stop the simulation, the "Display" block will show the actual stop time.
0 Comments
More Answers (1)
JOKY JOKE
on 1 Dec 2011
1 Comment
Fangjun Jiang
on 1 Dec 2011
No. You can't change the size of the data log. It is dependent on your step size and simulation time. See update in the answer for other solution.
See Also
Categories
Find more on Sources in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!