MATLAB:将值映射到其他数组的索引

时间:2011-04-17 03:22:58

标签: arrays matlab indexing

任何MATLAB专家都可以帮忙解决这个问题:

我有以下两个数组:

A = [1 1 3 4 4 4 4 4];
B = [6 7 8 9];

我想制作一个第三个数组,它使用“A”的值作为B中数组的指针。所以,最终结果将是:

C = [6 6 8 9 9 9 9 9];

“A”的每个元素都映射到“B”中的索引。

提前致谢。

编辑: 对不起,忘了提一下:我正在寻找一个非循环解决方案。这可行(我认为),但它使用循环:

C = [];
for i = 1:length(A)
   C = [C B(A(i))];
end

1 个答案:

答案 0 :(得分:7)

使用B(A)。它将A的元素视为B的索引,并返回与A大小相同的数组。