如何将数组与 NaN 进行比较?

how to compare arrays with NaN?

函数 ISEQUAL 可以很好地处理数字和 inf,但是每当数组中出现 NaN 时,它就会搞砸一切。 我正在寻找一种简单的方法来比较两个包含 NaN 的数组(对我来说这足以说 NaN==NaN)。 我在想类似按位比较的东西,但我不知道如何获得 Matlab 的精确位表示。

有什么想法吗?

如果你想知道数组是否相等,

tf = isequaln(A,B);

如果你想知道元素是否相等(NaN==NaN),你可以

nanA = isnan(A);
nanB = isnan(B);
tfByElement = A==B | nanA & nanB;