當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia log方法用法及代碼示例


用法一

log(x)

計算 x 的自然對數。為負的 Real 參數拋出 DomainError 。使用複雜的否定參數來獲得複雜的結果。

另見 [log1p]、[log2]、[log10]。

例子

julia> log(2)
0.6931471805599453

julia> log(-3)
ERROR: DomainError with -3.0:
log will only return a complex result if called with a complex argument. Try log(Complex(x)).
Stacktrace:
 [1] throw_complex_domainerror(::Symbol, ::Float64) at ./math.jl:31
[...]

用法二

log(b,x)

計算 x 的底數 b 對數。為負的 Real 參數拋出 DomainError

例子

julia> log(4,8)
1.5

julia> log(4,2)
0.5

julia> log(-2, 3)
ERROR: DomainError with -2.0:
log will only return a complex result if called with a complex argument. Try log(Complex(x)).
Stacktrace:
 [1] throw_complex_domainerror(::Symbol, ::Float64) at ./math.jl:31
[...]

julia> log(2, -3)
ERROR: DomainError with -3.0:
log will only return a complex result if called with a complex argument. Try log(Complex(x)).
Stacktrace:
 [1] throw_complex_domainerror(::Symbol, ::Float64) at ./math.jl:31
[...]

注意

如果 b 是 2 或 10 的冪,則應使用 log2 log10 ,因為它們通常更快、更準確。例如,

julia> log(100,1000000)
2.9999999999999996

julia> log10(1000000)/2
3.0

用法三

log(A::StridedMatrix)

如果 A 沒有負實特征值,則計算 A 的主矩陣對數,即唯一矩陣 X 使得 e^X = A -\pi < Im(\lambda) < \pi 對於 X 的所有特征值 \lambda 。如果A 具有非正特征值,則盡可能返回非主矩陣函數。

如果A 是對稱的或厄米特的,則使用其特征分解( eigen ),如果A 是三角形的,則使用逆縮放和平方方法的改進版本(參見[AH12][AHR13])。如果A 是實數且沒有負特征值,則計算實數 Schur 形式。否則,計算複數 Schur 形式。然後將[AHR13]中的上(準)三角算法用於上(準)三角因子。

例子

julia> A = Matrix(2.7182818*I, 2, 2)
2×2 Matrix{Float64}:
 2.71828  0.0
 0.0      2.71828

julia> log(A)
2×2 Matrix{Float64}:
 1.0  0.0
 0.0  1.0

相關用法


注:本文由純淨天空篩選整理自julialang.org大神的英文原創作品 Base.log — Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。