matlab检索对应于索引矩阵的向量中的元素

时间:2014-07-01 10:52:54

标签: arrays matlab matrix indexing

我有一个向量v
我还有一个大小为M x T的矩阵N,每列对应T的{​​{1}}索引。
例如:v是索引集M(:,1)(此处[1,2,12,5,4] = 5)。

我想为所有T制作一个大小为O x TN的矩阵O(:,i) = v(M(:,i))
有没有办法不使用for循环呢?

非常感谢

1 个答案:

答案 0 :(得分:1)

非常简单:只需使用

即可
O = v(M);

T=3N=4

的示例
>> v = (10:10:50).'
v =
    10
    20
    30
    40
    50
>> M = randi(5,T,N)
M =
     5     3     5     3
     2     3     1     4
     2     4     5     3
>> O = v(M)
O =
    50    30    50    30
    20    30    10    40
    20    40    50    30