Main Content

if-elseif-else のパターンを switch-case ステートメントに変換する

if-elseif-else ロジックのコードを switch-case ステートメントとして生成

モデル コンフィギュレーション ペイン: [コード生成] / [コード スタイル]

説明

if-elseif-else 判定ロジックのコードを switch-case ステートメントとして生成するかどうかを指定します。

この可読性の最適化は、モデル単位で以下にのみ適用されます。

  • Stateflow® チャート内のフロー チャート

  • Stateflow チャート内の MATLAB® 関数

  • そのモデル内の MATLAB Function ブロック

設定

on (既定値) | off

既定の設定: オン

オン

if-elseif-else 判定ロジックのコードを switch-case ステートメントとして生成する。

オフ

生成コードで if-elseif-else 判定ロジックを保持します。

すべて展開する

[if-elseif-else のパターンを switch-case ステートメントに変換する] を異なる値に設定し、それぞれの場合の生成コードでロジック パターンを比較します。

次の生成コードは、[if-elseif-else のパターンを switch-case ステートメントに変換する] に既定値の off を使用して生成されたものです。

if (x == 1) {
       y = 1;
} else if (x == 2) {
       y = 2;
} else if (x == 3) {
       y = 3;
} else {
       y = 4;
}

同じコードを [if-elseif-else のパターンを switch-case ステートメントに変換する]on に設定して生成すると次のようになります。

switch (x) {
     case 1:
       y = 1; break;
     case 2:
       y = 2; break;
     case 3:
       y = 3; break;
     default:
       y = 4; break;
}

推奨設定

アプリケーション設定
デバッグ影響なし
トレーサビリティオフ
効率性オン (実行、ROM)、影響なし (RAM)
安全対策影響なし

プログラムでの使用

パラメーター: ConvertIfToSwitch
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

バージョン履歴

R2009b で導入