任何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
答案 0 :(得分:7)
使用B(A)
。它将A
的元素视为B
的索引,并返回与A
大小相同的数组。