用法一
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。