而所有零阵列都在条件下

时间:2016-12-26 06:41:55

标签: matlab while-loop

我有一个数组a=[1 2 3 4 5 6 7 8 9];。 我想执行一个while循环,它对数组a执行一些操作,直到数组a中的所有元素都为零。 我该怎么办?

例如:

a=[1 2 3 4 5 6 7 8 9];

while(a contains all zero elements)
    do some operations on a  
end 

while循环结束时,a应为a=[0 0 0 0 0 0 0 0 0]

2 个答案:

答案 0 :(得分:2)

您只需使用any功能:

while any(a)
  %...operations...
end

答案 1 :(得分:0)

在这种情况下,您可以通过'while'模仿'for'循环:

i = length(a);
j = 1;
while j<=i
   a(1,j) = 0;
   j = j + 1;
end

或者简单地说,您可以按gnovice建议:

执行此操作
j= 1;
while any(a)
  a(j)=0;
  j = j+1;
end