我有一个包含5个数字的向量,以及一个大小为6000x20
的矩阵,因此每行有20个数字。我想计算6000行中有多少包含来自向量的所有值。
由于向量是矩阵的一部分,有80'000'000行,每行包含唯一的组合,我想要一个快速的解决方案(不超过2天)。
由于
答案 0 :(得分:0)
根据您拥有的尺寸,基于bsxfun
的方法可构建中间6000x20x5 3D阵列,价格合理:
v = randi(9,1,5); %// example vector
M = randi(9,6000,20); %// example matrix
t = bsxfun(@eq, M, reshape(v,1,1,[]));
result = sum(all(any(t,2),3));