Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
寻找矢量化搜索的有效方法
说 A 是 2 x 4 数组
x y z a .2 0.97 34.2 4.5
B 是一个 1 x 1000 数组
a x x x x y y y z z a .........
如何获取数组 B 的 A 的相应第 2 行值。寻找向量化的有效解决方案,我有一个有效但效率不高的 if 循环。
谢谢
我目前有
A(2,A(1,:)==B(:))
但这不起作用,因为两个数组的大小不同。谢谢
您可以使用该ismember函数的第二个输出,如下所示:
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)