拿这个R例子:
> x = 0.5 - 0.3
> y = 0.3 - 0.1
> x == y # although mathematically TRUE, it’s FALSE for limited precision
[1] FALSE
> all.equal(x,y) # equal up to precision of computer
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
引用R文档:
'all.equal(x,y)'是一个用于比较R对象'x'和'y'测试'接近相等'的实用程序.如果它们不同,仍然会在一定程度上进行比较,并返回差异报告.不要在'if'表达式中直接使用'all.equal' - 如果合适,使用'isTRUE(all.equal(....))'或'same'.
在Julia,x == y将返回false.有没有办法在Julia中检查这种相等的机器精度?
| 归档时间: |
|
| 查看次数: |
202 次 |
| 最近记录: |