if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题。
MATLAB语言为解决多分支判断选择提供了switch-case语句。
switch-case语句的一般表达形式为:
switch〈选择判断量〉
Case 选择判断值1
选择判断语句1
case 选择判断值2
选择判断语句2
……
otherwise
判断执行语句
end
与其他的程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句。
你这是if的用法。。。case一般都是匹配用法,比如case 1 这个时候意思就是k=1条件下。。。
switch ch
case 1
x = 20 * rand - 10;
case 2
x = 10 * rand - 5;
case 3
x = 2 * rand - 1;
case 4
x = randn;
end