从值向量转换索引矩阵

时间:2017-07-26 21:44:39

标签: matlab matrix indexing

我有一个包含值的向量:

c = [52, 26, 17, 39, 43];

和包含向量索引的矩阵:

B = [1 5 3 2;
     4 2 3 1;
     2 4 3 1;
     4 4 1 2];

如何将B转换为包含向量c中的值的矩阵B2,给出B中的索引?

B2 = [52 43 17 26;
      39 26 17 52;
      26 39 17 52;
      39 39 52 26];

嵌套for循环实现了我想要的东西:

for i = 1:4
 for j = 1:4
  B2(i,j) = c(B(i,j));
 end
end

然而,这个问题似乎应该适用于矢量化。有没有办法在没有for循环的情况下这样做?

1 个答案:

答案 0 :(得分:4)

您只需使用c索引B

B2 = c(B);