2011-04-17 100 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