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

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

 Akzeptierte Antwort

Naoya
Naoya am 7 Aug. 2018

2 Stimmen

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

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu プログラムによるモデル編集 finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!