使用break或return语句来解决问题

时间:2014-08-13 16:45:37

标签: matlab conditional-statements

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

这是一个例子:

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

如何使用'break'语句?我被告知我可以使用'while'循环代替。但是,我试图看看是否还有其他方法 这似乎应该是一个基本问题,但我现在想不出其他解决方案。

1 个答案:

答案 0 :(得分:0)

for break相当于while

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

...

ind = find(vec == 0);
p = 1;
while ( A(ind(p)) ~= 1 && p<length(ind) )
    p = p+1;
end
p = ind(p);

奖励:使用ij不好:Using i and j as variables in Matlab