MATLAB中 switch 块有条件地执行一组语句,这些语句是从几个选项里选择执行的,其中每个选项涵盖了一个 case 语句。
switch 块的功能是测试每个 case ,直到被测试的其中一个 case 是 true 。
case 是 true 的情况如下:
对于数字,eq(case_expression,switch_expression).
对于字符串,strcmp(case_expression,switch_expression).
对于对象,支持 eq 函数,eq(case_expression,switch_expression).
对于单元阵列case_expression的,在单元阵列与switch_expression相匹配的元素中的至少一个,如上文所定义的数字,字符串和对象。
当上述有一个情况是 true,MATLAB 就执行与之相应的语句,然后不再执行以后的语句,直接退出 switch 块。
otherwise 块是可选的,任何情况下,只有当真正执行。
在MATLAB 中 switch 语句的语法如下:
switch <switch_expression>
case <case_expression>
<statements>
case <case_expression>
<statements>
...
...
otherwise
<statements>
end
在MATLAB中建立一个脚本文件,并输入下述代码:
n = input('Enter a number: ');
switch n
case -1
disp('negative one')
case 0
disp('zero')
case 1
disp('positive one')
otherwise
disp('other value')
end
在命令提示符下,输入数字 1,输出结果为:
positive one
重复执行该代码并输入数字 3,输出结果为:
other value