0

このコードでは、50 未満の最初の数値に到達するまで、各要素を数値 3 に置き換えて印刷するベクトルを取得しようとしています。

 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] に置き換えられないのはなぜですか? コードの 5 行目を z=[z 3] に置き換えられないのはなぜですか。Matlab は私にそれをさせてくれず、ロジックについて混乱しています。

4

1 に答える 1

0

コードと同じことができます

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

このステートメントz=[z 3]は値 3 を vectorzに追加しますが、これはあなたが望むものではないようです。代わりに、によってインデックス付けされた現在の要素をでz(counter)=3 置き換えます。counter3

于 2013-09-22T17:12:01.873 に答える