寻找一种有效的矢量化搜索方式
说A是2乘4阵列
x y z a
.2 0.97 34.2 4.5
和B是1乘1000阵列
a x x x x y y y z z a .........
如何为阵列B获取A的相应第2行值。寻找向量化的有效解决方案,我有一个if循环可以工作但效率不高。
由于
我目前有
A(2,A(1,:)==B(:))
但这不起作用,因为两个阵列都有不同的大小。 感谢
答案 0 :(得分:1)
您可以使用ismember
函数的第二个输出,如下所示:
%Setup
A = [24 25 26 1; 0.2 0.97 34.2 4.5]
B = [1 24 24 24 24 25 25 25 26 26 1];
%Use ismember to get matching indexes
[~, ixs] = ismember(B, A(1,:))
%Use indexes to get desired result
out = A(2,ixs)