[英]How to find the intersection between two MATLAB tall arrays?
在常见的数组中, intersection
函数会很好用,但是对于高数组,此函数尚未实现。 那么还有另一种方法可以找到这两者的共同点吗?
使用for循环进行检查
n = 1e4;
m = 1e3; %Batchsize
a = tall(randi(n,n,1));
b = tall(randi(n,1,n));
idx = tall(false(n,1));
for ii = 1:n/m
idx = idx | any(a==b(1,(ii-1)*m+1:ii*m),2);
end
inter = a(idx);
其中m
控制着您一次可以加载到内存中的数组数量。 速度越快,但是您将需要足够的内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.