【发布时间】:2015-08-25 09:18:03
【问题描述】:
假设有两个数组{A,B},大小为1xN
我想找出在相同索引上的案例数
满足条件A(ii)==1 & B(ii)==0。
我试过了
casess= intersect( find(A==1),find(B==0 ))
但这很慢。
我相信这是因为intersect 检查每个成员是否是其他组的成员,但我仍在寻找最快的解决方案来解决我的小问题。
【问题讨论】:
-
试试这个:
casess = sum(A == 1 & B == 0);不需要使用find或intercept进行简单的逻辑计算。 -
Ps 正在寻找更有趣的东西,然后是 for 循环
-
Naveh 如果我想获得这些案例的索引?
-
那么你应该使用
find:indices = find(A == 1 & B == 0);。顺便说一句,您甚至可能不需要索引,并且可以简单地使用逻辑索引,这取决于您想对它们做什么。例如,如果C也具有相同的大小,vals = C(A == 1 & B == 0);将为您提供C的值,用于您将通过上述find获得的索引。
标签: matlab optimization set-intersection