当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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