0

次のコードを正しく理解したかどうかはわかりません。

i1=[0:M-1];
c_ind(i1+1)=i1+1;
i1=[0:M-1];
d_ind(i1+1)=i1+1;

このコードスニペットが2つのベクトルc_indd_indを生成し、両方に1、2、3、...、Mの数値が含まれていると仮定しますか?

あなたの感謝の助けに感謝します-これについて確信が持てないことは進歩を難しくします;)

最高
-astriffe

4

1 に答える 1

0

以下のこのコードのオクターブの出力。はい、2つのベクトルとを生成c_indします。d_indどちらもからまでカウントアップ1Mます。

なぜこれがこのように書かれたのか分かりません。

>> 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]マップするためです。valuesindices

>> 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
于 2012-05-03T08:14:18.803 に答える