例如,
0.168033639538270
和
0.168033639538270
是来自两个不同计算的两个double
类型数字(从矩阵的特征值进一步计算)。
但它们被MATLAB视为不同(unique
或==
)。我如何知道MATLAB是否因浮点错误eps = 2.220446049250313e-16
将它们视为不同,或者它们实际上是不同的(前15位数字后面的数字不相同,但MATLAB不会显示它们)。有时MATLAB会将具有相同显示值的两个数字视为相同但有时不同,所以我想知道它们是否真的不同。
答案 0 :(得分:0)
您可以使用sprintf
以所需的精度打印数字的格式化版本,然后使用strcmp
比较两个字符串。