matlab中if和switch函数问题

2025-03-23 07:53:48
推荐回答(2个)
回答1:

输出不正常的原因: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

回答2:

最后一个是不是应该换成default。