寻找一种有效的方法对搜索进行矢量化
假设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(:))
,但这不起作用,因为两个数组的大小不同。由于
可以使用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)