Azzera filtri
Azzera filtri

Stateflowに​て、OOPのクラスの​継承のように、あるC​hartを親としてそ​れを継承した子Cha​rtを作成することは​できるか?

4 visualizzazioni (ultimi 30 giorni)
佳樹
佳樹 il 29 Feb 2024
Commentato: 佳樹 il 1 Mar 2024
現在Matlab Stateflowにてモデル開発を行っております。
現在作成しようとしているいくつかのモデルには共通する構造があり、それらを簡単に作成することができないか考えております。
例えば以下のような3つのモデルについてです。
上記の3つのモデルは、Steady StateからUnsteady Stateに行くための条件が少し違うのみで、ほぼ同じ構造を有しています。
このような状況において、OOP(オブジェクト指向プログラミング)のように、共通する部分を親クラスとして定義し、差分を子クラスで作成するといったことは可能なのでしょうか?
可能な場合、どのようにして行うのでしょうか?

Risposta accettata

Toshinobu Shintai
Toshinobu Shintai il 29 Feb 2024
上記の例(パラメーターをブロックごとに別々に設定する)であれば、ライブラリ機能を用いることで対応可能かと思います。
1
2
3
4
作成しましたモデルを添付しています。モデルはR2020bで作成しています。
  5 Commenti
Toshinobu Shintai
Toshinobu Shintai il 1 Mar 2024
> マスク機能をはじめて使用したのですが、この機能を利用した方法にはどのようなメリットがあるのでしょうか?
今回のように、ライブラリから引用して使うサブシステムブロックに、それぞれ固有のパラメーターを持たせることができることがマスク機能の利点です。
マスクには、他にもブロック固有の初期化処理を追加したり、いろいろできることがあります。
> 添付いただいたモデルにおいてVではなくCをInputとしているのにはどういう意図があるのでしょうか?
頂いたモデルの画像では、何が入力になっているのかが分かりませんでした。なので、適当にCを入力に設定しただけで、特に意味はありません。
D, E, Fの箇所がブロックに入力される値であるとしてモデリングしてくださっても、問題はありません。
佳樹
佳樹 il 1 Mar 2024
> 今回のように、ライブラリから引用して使うサブシステムブロックに、それぞれ固有のパラメーターを持たせることができることがマスク機能の利点です。
承知いたしました。ありがとうございます。
添付いただいたリンクを参考にし、勉強させていただきます。
> 頂いたモデルの画像では、何が入力になっているのかが分かりませんでした。なので、適当にCを入力に設定しただけで、特に意味はありません。
承知いたしました。
ありがとうございます。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Simulink Function in Help Center e File Exchange

Tag

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!