如何计算两个向量都具有给定值的位置数?
假设 A
和 B
是 2 个向量,其中 length(A) = length(B)
。 A
和 B
的所有元素都是 0
或 1
。如何在 1 行中计算两个向量的值为 1
的位置数?
Say A
and B
are 2 vectors where length(A) = length(B)
.
All elements of A
and B
are either 0
or 1
. How can I count in 1 line the number of positions where both vectors have the value 1
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需添加到解决方案列表中,您还可以进行点积,这将为您提供答案:
这也是迄今为止发布的解决方案中最快 。
时序测试
点积
nnz
sum(bitand())
Just to add to the list of solutions, you can also do the dot-product, which will give you the answer:
This is also by far the fastest of the solutions posted.
Timing test
Dot-product
nnz
sum(bitand())
众多解决方案之一,使用
nnz
而不是sum
来查找非零元素的数量:One of many solutions, using
nnz
instead ofsum
to find the number of non-zero elements:这应该可以做到:
This should do it: