Run Matlab FUNCTION at the end of Simulink simulation
34 ビュー (過去 30 日間)
古いコメントを表示
Hello,
in a simulink simulation I compute some signals.
At the end of the simulation, when the system reach the steady-state condition, I want to use the final value of such signals to create a custom 3D plot. To do that I already built a Matlab FUNCTION block.
I don't want to run such Matlab FUNCTION block during the simulation because the computational time grows so much, and moreover I am interested only in the final value (steady-state).
How can I run such "Matlab FUNCTION block" only at the end of the simulation?
Thanks and best regards
2 件のコメント
採用された回答
Sai Sri Pathuri
2020 年 5 月 30 日
You may use StopFcn callback in your model. Refer the following link for Model callbacks. Expand Model Simulation Callback Parameters in the below documentation for StopFcn.
7 件のコメント
Sai Sri Pathuri
2020 年 6 月 2 日
Okay, In order to avoid overwriting and plot only last time step data, you may try this.
In constant block you used for FlagEndSim, use constant value as
[zeros(lengthOfOutput-1);1]
and Sample time as below. This is to retain previous sample rate after conversion by buffer
stepSize*lengthOfOutput
After the constant block, use buffer with output buffer size of 1.
With these changes, you can plot the results of only last simulation.
This is an example I tried at my end. I used a StopTime of 10 and a variable solver. For this, the output is of length 51 and step size is 0.2 (obtained from tout)
So, I have used the following settings
% Constant value
[zeros(50);1]
% SampleTime
0.2*51

その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Model Verification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!