Plots via s-function
3 ビュー (過去 30 日間)
古いコメントを表示
Hello,
I've written a Level2 S-Function, that plots space vector diagramms during my Simulink simulations. This is working so far, but the problem is that the execution time of the s-function slows down my simulation due to the matlab interpreter.
So my question is, is there any way to create and modify matlab-figures with a mex S-Function? After a lot of searching, I could not find any commands for doing that.
Thank you for your help
Tobias Gemaßmer
0 件のコメント
採用された回答
Titus Edelhofer
2011 年 11 月 24 日
Hi Tobias,
hmm, then there is indeed not much more that can be done ... writing the S-function in C will not make much of a difference in this case I guess. You might profile your S-function (just call
profile on
before running the simulation and
profile report
afterwards. The report should show up the time spent in your S-Function. I don't expect much interesting there, but just to be sure ...
Titus
0 件のコメント
その他の回答 (3 件)
Titus Edelhofer
2011 年 11 月 24 日
Hi Tobias,
not really. What I would suggest is to reduce the sample time of the output so that the S-function (plotting) is not done every time step but e.g. every 10th step only ...
Second: how does the plotting work, do you redraw the entire plot every time step (plot(x,y)), or (preferably) do you store the handle of the plot in some work vector and do only update the line, something like
set(h, 'xdata', newXData, 'ydata', newYData);
This is usually significantly faster.
Titus
0 件のコメント
Tobias Gemaßmer
2011 年 11 月 25 日
1 件のコメント
Titus Edelhofer
2011 年 11 月 25 日
Good to hear, so I guess the question might be seen as answered ...
参考
カテゴリ
Help Center および File Exchange で Block and Blockset Authoring についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!