使用while循环Matlab创建向量

时间:2013-09-22 17:07:10

标签: matlab loops vector

在这段代码中,我试图让打印的矢量用数字3替换每个元素,直到我达到小于50的第一个数字。

 z=[4 3 2 5 7 9 0 64 34 49];
 counter=1;

 while counter<length(z)
     if z(counter) >0 && z(counter) < 50
          z(counter)=3;

     end
     counter=counter+1;
 end
 z

而不是z(计数器)= 3 ....为什么我不能用z = [z 3]替换它? 为什么我不能用z = [z 3]替换代码的第五行。 Matlab不会让我这样做 我对这个逻辑感到困惑。

1 个答案:

答案 0 :(得分:0)

您可以使用

执行与代码相同的操作
 z(z<50 & z>0)=3;

语句z=[z 3]将值3附加到向量z,这似乎不是您想要的。相反,z(counter)=3 counter索引的当前元素替换为 3