我想将逐个元素的二元运算应用于大型逻辑向量。这些向量的内容是错误的,因此出于性能考虑,最好使用稀疏矩阵。如果我这样做,则生成的矩阵不正确。
示例
A = logical([0;1;0;0]);
B = logical([0 0 1 1]);
C = bsxfun(@and,A,B)
在这种情况下 C 是
C =
0 0 0 0
0 0 1 1
0 0 0 0
0 0 0 0
如果我使用稀疏矩阵 C 是
C = full(bsxfun(@and,sparse(A),sparse(B)))
C =
0 0 0 0
1 1 1 1
0 0 0 0
0 0 0 0
这显然是错误的。
我监督了什么还是这是一个 Matlab 错误。