Equal的文档页面上,我们读到了



以下是示例(32位系统;对于64位系统,请在中间添加更多零):

In[1]:= 1.0000000000000021 == 1.0000000000000022
1.0000000000000021 === 1.0000000000000022

Out[1]= True

Out[2]= True

我想知道Mathematica中的Equal函数是否有一个“正常”的模拟形式,并且不会丢弃最后7个二进制数字?

最佳答案

In[12]:= MyEqual[x_, y_] := Order[x, y] == 0

In[13]:= MyEqual[1.0000000000000021, 1.0000000000000022]

Out[13]= False

In[14]:= MyEqual[1.0000000000000021, 1.0000000000000021]

Out[14]= True

这将测试两个对象是否相同,因为1.0000000000000021和1.000000000000002100的精度不同,因此它们不会被视为相同。

关于wolfram-mathematica - Mathematica中是否有 "normal"EqualQ函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4983885/

10-11 06:36