使用 numpy,我该如何执行以下操作:
ln(x)
是否等同于:
np.log(x)
log
对于这样一个看似微不足道的问题,我深表歉意,但我对和之间的区别的理解ln
是ln
logspace e?
使用 numpy,我该如何执行以下操作:
ln(x)
是否等同于:
np.log(x)
log
对于这样一个看似微不足道的问题,我深表歉意,但我对和之间的区别的理解ln
是ln
logspace e?
正确,np.log(x)
是 的自然对数(基本e
对数)x
。
对于其他基础,请记住这条对数定律:某个任意 base 中的日志在log-b(x) = log-k(x) / log-k(b)
哪里,并且是base 中的日志,例如log-b
b
log-k
k
这里 k =e
l = np.log(x) / np.log(100)
并且l
是 x 的 log-base-100
我通常这样做:
from numpy import log as ln
也许这可以让你更舒服。
Numpy 似乎从 MATLAB/Octave 中得到了启发,并用于log
“log base e”或ln
. 也像 MATLAB/Octave 一样,Numpy 不提供任意基数的对数函数。
如果您感到log
困惑,您可以创建自己的ln
引用 numpy.log 函数的对象:
>>> import numpy as np
>>> from math import e
>>> ln = np.log # assign the numpy log function to a new function called ln
>>> ln(e)
1.0
from numpy.lib.scimath import logn
from math import e
#using: x - var
logn(e, x)
您可以通过将 log 的基础设置为 e 来简单地做相反的事情。
import math
e = 2.718281
math.log(e, 10) = 2.302585093
ln(10) = 2.30258093