用法一
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。