我不确定我是否正确理解了以下代码:
i1=[0:M-1];
c_ind(i1+1)=i1+1;
i1=[0:M-1];
d_ind(i1+1)=i1+1;
我是否正确地假设此代码片段产生两个向量 c_ind 和 d_ind ,它们都包含数字1,2,3,...,M?
非常感谢你的帮助 - 不确定这会让你的进步变得更加艰难;)
最好的 - astriffe
答案 0 :(得分:0)
以下此代码的Octave输出。是的,它确实产生了两个向量,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