2011-04-17 36 views
5

可以在任何MATLAB专家助阵本: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 

回答

7

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

+0

太棒了。工作完美 - 谢谢!我会在分钟后接受。时间已过。 – Eric 2011-04-17 03:27:45