Computational Time Analysis in Simulink

1 次查看(过去 30 天)
Hello everyone,
i need to generates plot about the time that is necessary to the simulation environment in order to do all the calculations in every single step time.
The result i expect is a plot where on Y there is the real time needed for each step time and in X there is the simulation time.
Is there Some one know how to realize in "automatic" way through a script this kind of anaysis?
Maybe there is a way to use tic-toc sequence but i have only derived the real time needed for an entire simulation...
Thanks in advance.

回答(1 个)

Walter Roberson
Walter Roberson 2022-5-27
There is no meaningful solution for continuous time models. Continuous time models use ode solvers that can reject steps in order to stay within integration tolerance, so the required time can vary depending on the initial conditions and the prediction model. The prediction model can take variable step sizes so the time per change of the independent variable can change during execution.
For discrete time models if rapid acceleration is turned on then Simulink divides the work up into tasks according to required rate, and executes some tasks less often and executes some tasks in parallel. The portions of the model that are grouped together into tasks are not necessarily functionally related, they might just happen to be running at the same rate.
At the best of times there are items that have to be executed for every minor time step and items that are every major time step, so the work over time depends on where you are in major vs minor steps.
  3 个评论
paolo dini
paolo dini 2022-5-27
Thanks for the response!
The profiler is the tool i usually exploit.
Tipical report from the profiler is a sort of "reverse" bar graph where is shown the percentage of usage of each function/block with respect of the totasl number of call along the entire simulation. The problem is that this is an information equivalent to mean value of the comp.time because i cant observe in which point of the simulation there is an increasing complecity due to some change...
As i writes above, in matlab script i am able to derive the expected result if the system equation can be inserted in a for loop, but in simulink i have not found any solution up to now.
I will look at the Advisor more in detail anyway!
Thanks for your time!!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Manual Performance Optimization 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by