输出不正常的原因:matlab 中case 不同于if else, case 后面跟的应该是变量确切的值,而不是逻辑判断。详细可以在command window中输入doc case查看。
举例:
function z=Untitled(x)
a=1;b=2;c=3;d=4;
z=0;
switch x
case 5
z=0;
case 6
z=1;
case 7
z=2;
case 8
z=3;
end
end
在command窗口中,执行
>> Untitled(2)
ans =
0
>> Untitled(5)
ans =
0
>> Untitled(6)
ans =
1
>> Untitled(7)
ans =
2
补充:
求助一个Matlab关于switch case的问题
http://www.ilovematlab.cn/thread-45272-1-1.html
最后一个是不是应该换成default。