多个 while 循环条件

Multiple while loop conditions

这是我的示例代码,用于计算如何在满足三个条件中的任何一个时结束 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

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

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

另外(来自以下评论):

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