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

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

Accepted Answer

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

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!