如何使用或在while循环?

时间:2015-06-22 15:05:42

标签: matlab logical-operators

我真的不知道如何使用这个

  while  flag==1 or n<3000 
         n=n+1
  end

它报告:

??? Error using ==> or
Not enough input arguments.

这个问题非常基础,但我找不到任何例子。我搜索了matlab or,但or在Google中被忽略了。对不起,我真的不知道它的语法。

2 个答案:

答案 0 :(得分:5)

以这种方式写下

   while  (flag==1) || (n<3000 )
         n=n+1;
  end

答案 1 :(得分:4)

直截了当的答案是你应该写

while  (flag==1) || (n<3000)
    n=n+1;
end

代替。 ||代表“或”,&&代表“和”。

为什么收到您看到的错误消息?好吧,虽然它并不经常直接使用,但实际上有一个MATLAB函数or,而||只是or的简写。但要直接调用or,您必须将其用作函数。所以

while or(flag==1, n<3000)
    n=n+1;
end

也可以。当您将其称为flag==1 or n<3000时,它没有您看到的输入参数和错误。