MATLAB Function Reference | ![]() ![]() |
表示
switchswitch_expr
casecase_expr
statement,...,statement case {case_expr1,case_expr2,case_expr3,...}
statement,...,statement ... otherwise statement,...,statement end
詳細
switch
ステートメントのシンタックスは、条件付きでコードを実行する方法です。特に、switch
は任意数の選択肢から選択されたステートメントを実行します。各選択肢は、case
と言われ、つぎのものから成り立ちます。
case
ステートメント基本的なシンタックスでは、switch
は switch_expr
==
case_expr
を満たす最初のcase と関連するステートメントのみを実行します。case式がセル配列の場合(上記の 2 番目の場合のように)は、セル配列の要素のいずれかが、switch 式と一致していれば、case_expr
は一致します。case 式がどれも switch式と一致しない場合は、制御が(存在すれば)otherwise
ケースに移動します。1つのケースが実行されると、プログラムの実行は、end
の後のステートメントを再び行います。
switch_expr
は、スカラまたは文字列です。switch_expr==case_expr
の場合、スカラの switch_expr
は case_expr
と一致します。strcmp(switch_expr,case_expr)
が、1
を出力する場合、文字列の switch_expr
は case_expr
と一致します。
C プログラマに対する注意
C 言語 switch と異なり、MATLAB の switch は、"fall through" ではありません。これは、最初に一致したときのみ、switch が実行され、続いて、一致しても実行はされません。そのために、break ステートメントは使われません。 |
例題
switch lower(method)
case {'linear','bilinear'}, disp('Method is linear')
case 'cubic', disp('Method is cubic')
case 'nearest', disp('Method is nearest')
otherwise, disp('Unknown method.')
end
参考
case
, end
, if
, otherwise
, while
![]() | svds | symamd | ![]() |