向量作为在给定一个矩阵A
(mxn
)矩阵
问题描述:
列索引和矢量B
(mx1
)我要创建矢量C
(mx1
),其中每个行元素是从一列由B
索引的A
行元素。
有没有可能做到这一点,而不使用循环?向量作为在给定一个矩阵<code>A</code>(<code>mxn</code>)矩阵
A = [1 2; 3 4; 5 6];
B = [2 1 1].';
然后我想:
C = [2 3 5].';
答
转换的B
列下标来线性索引,然后使用它们来参考元件在A
:
idx = sub2ind(size(A), (1:size(A, 1)).', B);
C = A(idx);
(有关详细信息,读关于线性索引的部分在this answer)。