Я предполагаю, что у вас есть значения бесконечность , возникающие в ваших матрицах в тех же точках. Например:
>> 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
. Вы можете проверить, есть ли у вас бесконечности в A
и B
, используя функцию ISINF , например, так:
any(isinf(A(:)))
any(isinf(B(:)))
И если вы получите значение 1 (т. Е. Истина), то, скорее всего, причиной вашего расхождения будет наличие бесконечностей.