多个while循环条件

时间:2015-05-03 20:35:30

标签: matlab while-loop

这是我的示例代码,用于解决当满足三个条件中的任何一个时如何使while循环结束。

我希望代码在n = 100时结束,但结束于n = 301。如何才能在n=100结束时将其结束?

clear all; close all;
n = 0;
R = 0; A = 0; T = 0;    

while (R~=1) || (A~=1) || (T~=1)     
    if n == 100
        R = 1;
    end        
    if n == 200
        A = 1;
    end 
    if n == 300
        T = 1;
    end
    n=n+1;
end

1 个答案:

答案 0 :(得分:5)

||表示或(with short circuiting)。这意味着在所有条件都为假之前,您的循环不会退出。

您想使用AND,即&&。这意味着当至少有一个条件为假时,循环退出。

另外(来自下面的评论):

当循环结束时,n的值将为101(因为循环底部的n=n+1)。如果重要的是n的值为100,那么您可以在break正文中插入if (info here),以便在n = 100时循环退出。