我使用MEX创建了一个稀疏矩阵,也使用MATLAB创建了一个稀疏矩阵。为了填充矩阵的值,我使用了相同的公式。
现在要检查这两个矩阵是否相等,我使用了result=(A==B)。结果对于所有的索引返回1,这意味着所有矩阵元素都相等。
但是,如果我执行find(A-B),它会返回一些索引,这表明在这些索引处的值是非零的。这怎么可能呢?
注意:当我比较这些索引处的值时,它显示相等!
注意:当我比较这些索引处的值时,它显示相等!
>> A = Inf;
>> B = Inf;
>> A == B
ans =
1 %# They are treated as equal...
>> A-B
ans =
NaN %# ...but their difference actually results in NaN...
>> find(A-B)
ans =
1 %# ...which is treated as a non-zero value.
NaN
值。你可以使用函数 ISINF 检查 A
和 B
中是否存在无穷大。请参考以下示例:any(isinf(A(:)))
any(isinf(B(:)))