朱莉娅:有没有办法像R的all.equal()那样测试平等?

时间:2016-01-01 07:24:33

标签: julia

拿这个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

引用R文档:

  

'all.equal(x,y)'是一个用于比较R对象'x'和'y'的实用程序        测试'接近平等'。如果它们不同,则进行比较        仍然在某种程度上做了,差异的报告是        回。不要在'if'中直接使用'all.equal'        表达式 - 使用'isTRUE(all.equal(....))'或'相同'if        合适的。

Juliax == y将返回false。有没有办法在Julia中检查这种相等的机器精度?

1 个答案:

答案 0 :(得分:5)

isapprox(x,y)正是您要找的。

在REPL中使用?isapprox以获得更多帮助。具体来说,有2个参数可以指定误差的相对容差和误差的绝对容差。

2016年快乐