MATLAB中具有可变if语句数量条件的While循环

MATLAB中具有可变if语句数量条件的While循环,matlab,while-loop,Matlab,While Loop,我试着做以下几点。假设我有一个长度为N的向量E,我想做的是创建一个while循环 while E(1) < A || E(2) < A || ..... || E(N) < A do stuff end E(1)

我试着做以下几点。假设我有一个长度为N的向量E,我想做的是创建一个while循环

while E(1) < A || E(2) < A || ..... || E(N) < A
do stuff
end
E(1)
其中A是某个输入值,例如0.5

然而,我希望它适用于任何N(可能高达50),所以我不能只键入每一个条件。我知道这可能在计算上很昂贵,但原则上这对我来说并不重要


问题是,我不知道怎么做。也许我可以使用某种for循环来创建一个字符串,该字符串等于我想要的条件?我对MATLAB的这一部分不太熟悉,不知道这是否可行,但我假设这是我应该考虑的方向。

您可以将测试压缩为:

while any(E<A)

在任何情况下(E您可以将测试压缩为:

while any(E<A)

while any(如果您发布一些示例数据和一些示例条件(即创建一个).可能还有另一种方法你没有想到…好吧,我会试着想出一个合适的方法。问题是我有两个向量,E1和E2。我想最后做的是为每个元素制作一个函数,调整E1,使其更像E2。尽管有很多条件必须满足,所以这将是一个完全不同的问题,但本质上我只希望我的循环在每个元素E1(j)至少是a*E2(j)时终止.你应该把这些信息放进你的问题中…是的,我想是的,但我不想让别人帮我解决整个问题,至少我自己先尝试一下。最后一行基本上是我写的,对吗?如果你发布一些示例数据和一些示例条件(即创建一个).可能还有另一种方法你没有想到…好吧,我会试着想出一个合适的方法。问题是我有两个向量,E1和E2。我想最后做的是为每个元素制作一个函数,调整E1,使其更像E2。尽管有很多条件必须满足,所以这将是一个完全不同的问题,但本质上我只希望我的循环在每个元素E1(j)至少是a*E2(j)时终止.你应该把这些信息放进你的问题中…是的,我想是的,但我不想让别人帮我解决整个问题,至少我自己先尝试一下。最后一行基本上是我写的,对吗?好吧,这太神奇了。@user129412是的,它叫矢量化:)。它是Matlab的核心。一旦你得到它,你就会爱上它。好吧,这太神奇了。@user129412是的,它叫做矢量化:)。它是Matlab的核心。一旦你得到它,你就会爱上它。