用法一
isapprox(x, y; atol::Real=0, rtol::Real=atol>0 ? 0 : √eps, nans::Bool=false[, norm::Function])不精确的相等比较。如果它们的相对距离 or 它们的绝对距离在公差范围内,则两个数字比较相等:如果 norm(x-y) <= max(atol, rtol*max(norm(x), norm(y))) ,则 isapprox 返回 true。默认 atol 为零,默认 rtol 取决于 x 和 y 的类型。关键字参数 nans 确定 NaN 值是否被视为相等(默认为 false)。
对于实数或复数浮点值,如果未指定 atol > 0,则 rtol 默认为 x 或 y 类型的   的平方根,以较大者(最不精确)为准。这对应于要求大约一半的有效数字相等。否则,例如对于整数参数,或者如果提供了 eps atol > 0,则 rtol 默认为零。
norm 关键字默认为 abs 用于数字 (x,y) 和 LinearAlgebra.norm 用于数组(替代 norm 选项有时很有用)。当 x 和 y 是数组时,如果 norm(x-y) 不是有限的(即 ±Inf 或 NaN ),则比较回退到检查 x 和 y 的所有元素是否近似相等 component-wise。
二元运算符 ≈ 等效于带有默认参数的 isapprox ,而 x ≉ y 等效于 !isapprox(x,y) 。
请注意,x ≈ 0(即,将默认公差与零进行比较)等效于 x == 0,因为默认 atol 是 0 。在这种情况下,您应该提供适当的 atol (或使用 norm(x) ≤ atol )或重新排列代码(例如,使用 x ≈ y 而不是 x - y ≈ 0 )。不可能自动选择非零 atol,因为它取决于问题的整体缩放("units"):例如,在 x - y ≈ 0 中,atol=1e-9 是一个非常小的公差,如果 x是以米为单位的radius of the Earth,但如果x 是以米为单位的radius of a Hydrogen atom,则公差非常大。
Julia 1.6
在比较数字(非数组)参数时传递 norm 关键字参数需要 Julia 1.6 或更高版本。
例子
julia> isapprox(0.1, 0.15; atol=0.05)
true
julia> isapprox(0.1, 0.15; rtol=0.34)
true
julia> isapprox(0.1, 0.15; rtol=0.33)
false
julia> 0.1 + 1e-10 ≈ 0.1
true
julia> 1e-10 ≈ 0
false
julia> isapprox(1e-10, 0, atol=1e-8)
true
julia> isapprox([10.0^9, 1.0], [10.0^9, 2.0]) # using `norm`
true用法二
isapprox(x; kwargs...) / ≈(x; kwargs...)创建一个使用 ≈ 将其参数与 x 进行比较的函数,即等效于 y -> y ≈ x 的函数。
此处支持的关键字参数与 2 参数 isapprox 中的关键字参数相同。
Julia 1.5
此方法需要 Julia 1.5 或更高版本。
相关用法
- Julia isascii用法及代码示例
- Julia isassigned方法用法及代码示例
- Julia isassigned()用法及代码示例
- Julia isassigned用法及代码示例
- Julia isambiguous用法及代码示例
- Julia isabstracttype用法及代码示例
- Julia issetequal()用法及代码示例
- Julia istaskfailed用法及代码示例
- Julia iswritable用法及代码示例
- Julia isless方法用法及代码示例
- Julia isvalid()用法及代码示例
- Julia isopen用法及代码示例
- Julia ispow2用法及代码示例
- Julia isreadable用法及代码示例
- Julia issetequal用法及代码示例
- Julia issorted用法及代码示例
- Julia isvalid方法用法及代码示例
- Julia iseven()用法及代码示例
- Julia isless用法及代码示例
- Julia isidentifier用法及代码示例
- Julia isbinaryoperator用法及代码示例
- Julia isperm用法及代码示例
- Julia issubset用法及代码示例
- Julia isone用法及代码示例
- Julia isunaryoperator用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.isapprox — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
