0

在这段代码中,我试图让向量打印用数字 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(counter)=3 ....为什么我不能用 z=[z 3] 替换它?为什么我不能用 z=[z 3] 替换代码的第五行。Matlab 不会让我这样做,我对逻辑感到困惑。

4

1 回答 1

0

您可以执行与代码中相同的操作

 z(z<50 & z>0)=3;

该语句z=[z 3]将值 3 附加到 vector z,这似乎不是您想要的。而是z(counter)=3 用 替换counter由索引的当前元素3

于 2013-09-22T17:12:01.873 回答