次のコードを正しく理解したかどうかはわかりません。
i1=[0:M-1];
c_ind(i1+1)=i1+1;
i1=[0:M-1];
d_ind(i1+1)=i1+1;
このコードスニペットが2つのベクトルc_indとd_indを生成し、両方に1、2、3、...、Mの数値が含まれていると仮定しますか?
あなたの感謝の助けに感謝します-これについて確信が持てないことは進歩を難しくします;)
最高
-astriffe
以下のこのコードのオクターブの出力。はい、2つのベクトルとを生成c_ind
します。d_ind
どちらもからまでカウントアップ1
しM
ます。
なぜこれがこのように書かれたのか分かりません。
>> M = 4
M = 4
>> i1=[0:M-1]
c_ind(i1+1)=i1+1
i1=[0:M-1]
d_ind(i1+1)=i1+1
i1 =
0 1 2 3
>> c_ind =
1 2 3 4
>> i1 =
0 1 2 3
>> d_ind =
1 2 3 4
これが実際に機能する理由は、構文がリストをで指定された場所にarray([indices]) = [values]
マップするためです。values
indices
>> myvec2([1,4,7]) = [10,20,30]
myvec2 =
10 0 0 20 0 0 30
>> myvec(5:7) = [10,20,30]
myvec =
0 0 0 0 10 20 30