MATLAB Answers

MATLAB Functionを使​用せずsimで実行し​ているシミュレーショ​ンの進捗を表示する方​法を教えてください

5 views (last 30 days)
seiji fukui
seiji fukui on 1 Aug 2018
Commented: seiji fukui on 7 Aug 2018
Simulinkで作成したモデルを自作のシミュレーション実行関数を用いてシミュレーションしています(シミュレーションの実行にsimを使用)。
シミュレーションの進捗状況をwaitbarで表示しようとしているのですが、現在のシミュレーション時間を取得するにはどうすればよいでしょうか? 目的は「シミュレーションの進捗状況を表示する」ことなのでより簡易な手段があればそちらでもかまいません。
モデルの都合上以下の手段は使用できません。
set_paramを用いてシミュレーションを実行する。
MATLAB Fucntionを用いてシミュレーション時間をワークスペースに出力する

  0 Comments

Sign in to comment.

Accepted Answer

Naoya
Naoya on 7 Aug 2018
現在のシミュレーション時間を取得するコマンドとしては、
get_param(bdroot,'SimulationTime')
で取得できます。
ただ、sim関数での実行は、そのシミュレーションが終了しない限りMATLAB上のコマンドプロンプトを返さない(シミュレーションが終了しない限り次のコマンドを実行できない)ので、sim関数によるシミュレーション中に上記コマンドを実行することはできません。
※ set_param を用いてシミュレーションを実行する方法であれば上記コマンドは利用できます。waitbarを使って進捗を表示する目的であれば、こちらの方法になると思います。

  1 Comment

seiji fukui
seiji fukui on 7 Aug 2018
回答ありがとうございます。
以下のように理解しました。
Sim関数での実行中は他のコマンドを実行できない、且つSimulinkのウィンドウも更新されないためwaitbar等を用いたシミュレーションの進捗確認は不可。
適当なScopeをStartFcnで起動して進捗を確認できるようにしてみます。

Sign in to comment.

More Answers (0)

Sign in to answer this question.