Matlab 使用break或return语句四处走动

Matlab 使用break或return语句四处走动,matlab,conditional-statements,Matlab,Conditional Statements,我正在使用Matlab修改一些将在实时系统中使用的代码。实时系统不能使用“break”或“return”语句。我在Matlab中有一堆for循环,它们使用“break”或“return” 这是一个例子: for j = find(vec == 0) if A(j) == 1 break; end end 我如何使用“break”语句?我被告知可以使用“while”循环。不过,我正在尝试看看是否还有其他方法。 这似乎应该是一个基本问题,但我现在想不出其他解决方案。afor

我正在使用Matlab修改一些将在实时系统中使用的代码。实时系统不能使用“break”或“return”语句。我在Matlab中有一堆for循环,它们使用“break”或“return”

这是一个例子:

for j = find(vec == 0)
   if A(j) == 1
      break;
   end
end
我如何使用“break”语句?我被告知可以使用“while”循环。不过,我正在尝试看看是否还有其他方法。

这似乎应该是一个基本问题,但我现在想不出其他解决方案。

a
for
with
break
相当于a
while

for jj = find(vec == 0)
   if A(jj) == 1
      break;
   end
end

ind=find(vec=0);
p=1;

而(A(ind(p))~=1&&p当您声明
j=find(vec==0)时
,您使用的是
j
作为向量,而不是迭代器。您确定要这样做吗?@Divakar好吧,现在我知道您的想法了。OP在这里不太可能出错,否则他/她会遇到另一个问题。或者告诉我们您打算用这样的代码实现什么。希望
OP
会开始讨论,以澄清他/她所做的事情/她真的想摆脱这一切。
ind = find(vec == 0);
p = 1;
while ( A(ind(p)) ~= 1 && p<length(ind) )
    p = p+1;
end
p = ind(p);