如何使用matlab中的if和or语句比较数字?

时间:2012-11-08 19:41:32

标签: matlab comparison logic

如果数组b=[1,2,3,4,5]的元素等于1或2或5,我想返回true。我该怎么做?

2 个答案:

答案 0 :(得分:6)

有不同的方法可以做到这一点:

  • 针对一个数字测试单个元素

    b(1) == 5

  • 针对多个数字测试单个元素,即第一个元素是1还是2还是5?

    b(1) == 1 || b(1) == 2 || b(1) == 5

    %# which is equivalent to

    any(b(1) == [1 2 5];

  • 针对一个数字测试所有(或多个)元素

    b == 1; %# a vector with t/f for each element

  • 针对多个数字测试所有元素

    b == 1 | b == 2 | b == 5 %# note that I can't use the shortcut ||

    %# this is equivalent to

    ismember(b,[1 2 5])

答案 1 :(得分:3)

很简单。要测试数字的相等性,只需使用==运算符。

if (b(1) == 5)
    %% first element of b is 5 
    %% now implement code you require

同样,您可以测试矩阵中任何元素的相等性。要测试多个值,请将逻辑或运算符||==结合使用,例如

if (b(1) == 5 || b(1) == 2 || b(1) == 1)
    %% first element of b is 1,2 or 5 
    %% now implement code you require