给定一个矩阵A
(mxn
) 和一个向量B
(mx1
)我想创建一个向量C
(mx1
) 其中每个行元素是A
来自索引为的列B
.
是否可以在不使用循环的情况下做到这一点?
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);
(有关更多信息,请阅读有关线性索引的部分这个答案).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)