時間経過によるステー​トの変化を見るにはど​うすればよいか?

2 Ansichten (letzte 30 Tage)
佳樹
佳樹 am 25 Nov. 2022
Kommentiert: 佳樹 am 25 Nov. 2022
現在Simulink, Stateflowにて、開発を行っております。
開発では、ステートが変化した場合にoutputが変化しないというモデルの作成が求められる場合があります。
例えば、以下のようなモデルです。
このモデルでは、in == 1が一秒間継続した場合に、out = 1と出力する、という処理を行っております。
このモデルをテストする場合に、A→B→Aといったステートの変化を行うテストケースを考えたとき、どちらのステートにおいても出力out=0となってしまうため、出力outを見るだけでは不十分です。
このような場合に、時間経過に伴うステートの変化を見るためには、どうすればよいでしょうか?
これを見る方法として、一番簡単だと思われる方法が、以下のようにステート番号をふった出力を追加する方法だと考えられます。
しかしながら、この方法はモデルに変更を加えてしまうために、あまり使用したくありません。

Akzeptierte Antwort

Toshinobu Shintai
Toshinobu Shintai am 25 Nov. 2022
一つには、チャートのキャンバスをクリックしてプロパティインスペクターを表示した時に、「監視する出力の作成」にチェックを入れます。
これにより、CHartブロックの出力ポートが一つ増えまして、状態の変化をブロックから出力することができます。
実行結果は以下の通りです。
二つ目に、「シミュレーション」タブの「アクティブステートのログ記録」をクリックする方法があります。
これにより、モデルを修正しなくても、状態の変化がシミュレーションデータインスペクターに記録されるようになります。
モデルも添付しました。モデルはR2020bで作成しました。
  1 Kommentar
佳樹
佳樹 am 25 Nov. 2022
問題なく出力結果を見ることができました。
モデルの変更を必要としない「『シミュレーション』タブの『アクティブステートのログ記録』をクリックする」方法が非常に有効であると感じました。
わざわざモデルまで作成していただき、誠にありがとうございます。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 複雑なロジック finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!