Merge ブロックの前段と、排他的に駆動する Subsystem の間で計算を行う場合​、予期せぬ結果となる​のはなぜですか?

4 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
次の図に示すようにモデリングし、If ブロックの条件で排他的に2つの Subsystem を駆動、 Merge ブロックで結果を観測していますが、結果が予期せぬものとなります。
具体的には、下図のモデルでは、If ブロックにてシミュレーション時間において2つの Subsystem がある時刻で切り替わるように設定しているはずですが、常に下段の else の条件で駆動する Subsystem のみが実行されるという結果が、 Merge の出力として観測されます。

採用された回答

MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
Merge ブロックには、排他的に駆動する Subsystem からの信号を直接接続する必要があります。
上記の図のように排他的に駆動することを想定した Subsystem と Merge ブロック間に何らかのブロックを挟んだ計算が含まれると、そのパスは常に駆動していると見なされるため、想定する結果となりません。
Merge ブロックには排他的に駆動する各 Subsystem から直接接続し、全ての計算は各 Subsystem 内で行うようにモデリングする必要があります。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange条件付き実行サブシステムとモデル についてさらに検索

製品


リリース

R2009b

Community Treasure Hunt

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

Start Hunting!