Simulink - Times
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Fangjun Jiang
2011-11-15
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 个评论
更多回答(1 个)
JOKY JOKE
2011-12-1
1 个评论
Fangjun Jiang
2011-12-1
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!