矢量作为矩阵中的列索引

Ste*_*fin 2 matlab matrix matrix-indexing

给定matrix A(mxn)和vector B(mx1)我想创建一个vector C(mx1),其中每个row元素是A索引的列的row元素B.
是否可以这样做,而不使用循环?

A = [1 2; 3 4; 5 6];
B = [2 1 1].';
Run Code Online (Sandbox Code Playgroud)

然后我想:

C = [2 3 5].';
Run Code Online (Sandbox Code Playgroud)

Eit*_*n T 6

将列的下标转换B为线性索引,然后使用它们来引用以下元素A:

idx = sub2ind(size(A), (1:size(A, 1)).', B);
C = A(idx);
Run Code Online (Sandbox Code Playgroud)

(有关更多信息,请阅读本答案中关于线性索引的部分).