我有一个矩阵
A = repmat(1:7,7,1);
我有索引向量
idx1 = [1 3 5];
idx2 = [1 3 5];
我想在idx1(i),idx2(i)表示的2d坐标处访问A.
当我这样做时
A(idx1,idx2) = 0;
我得到idx 1中的每个元素,idx2中的所有元素。 我只希望为相应的元素分配零值。
再次:我得到了
A =
0 2 0 4 0 6 7
1 2 3 4 5 6 7
0 2 0 4 0 6 7
1 2 3 4 5 6 7
0 2 0 4 0 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
但我想要
A =
0 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 0 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 0 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
如何实现这一目标?
由于
答案 0 :(得分:4)
最简单的方法可能是使用sub2ind
生成索引到A
所需的线性索引:
linear_ind = sub2ind(size(A),idx1,idx2);
A(linear_ind) = 0;