我有M
×N
矩阵A
和M
×1
索引向量ind
。我希望获得N
×1
向量c
,其中c(i) = A(ind(i),i)
为i
= 1
,2
,... N
。
例如,让
A = hilb(5);
ind = [2,3,1,4,2]';
如何获取向量c
?
答案 0 :(得分:2)
这就是sub2ind
的作用:
c = A(sub2ind(size(A), ind(:).', 1:numel(ind)));
您也可以手动执行此操作以提高速度:
c = A((0:numel(ind)-1) * size(A,1) + ind(:).');
要了解其工作原理,请阅读linear indexing。