Main Content

jc_0657: 条件付き制御フロー ブロックと Merge ブロックによる出力値保持

R2020a 以降

該当ガイドライン

Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®

サブ ID 推奨事項

  • NA-MAAB — a2

  • JMAAB — a1/a2

MATLAB バージョン

すべて

ルール

サブ ID a1

以下の条件に該当する場合は、未使用の Action 端子を Terminator ブロックに接続します。

  • 過去の値が保持されている。

  • 機能の切り替えに、Merge ブロックと、If ブロックや Switch Case ブロックなどの条件付きフロー ブロックが使用されている。

カスタム パラメーター

該当なし

例 — 正

If ブロックの例

Switch Case ブロックの例

例 — 誤

If ブロックの例

Switch Case ブロックの例

サブ ID a2

以下の条件に該当する場合は、Delay ブロックを使用するフィードバック ループを実装します。

  • 過去の値が保持されている。

  • 機能の切り替えに、Merge ブロックと、If ブロックや Switch Case ブロックなどの条件付きフロー ブロックが使用されている。

カスタム パラメーター

該当なし

例 — 正

If ブロックの例

Switch Case ブロックの例

例 — 誤

If ブロックの例

Switch Case ブロックの例

根拠

サブ ID a1:

  • コードの効率性を高めます。

  • 過去の値を既定 (else) 以外で保持する場合、Terminator ブロックを使用できます。

サブ ID a2:

  • 過去の値の保持が明示的になります。

検証

モデル アドバイザー チェックを使用して、このモデリング ガイドラインへの準拠を確認することはできません。

最終更新

R2020a

バージョン履歴

R2020a で導入