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

3 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を用いてシミュレーション時間をワークスペースに出力する

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)

Categories

Find more on プログラムによるモデル編集 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!