| MATLAB Function Reference | ![]() |
表示
switchswitch_exprcasecase_exprstatement,...,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 | ![]() |