139

使用 numpy,我该如何执行以下操作:

ln(x)

是否等同于:

np.log(x)

log对于这样一个看似微不足道的问题,我深表歉意,但我对和之间的区别的理解lnlnlogspace e?

4

6 回答 6

215

np.logln,而np.log10您的标准以 10 为底对数。

于 2012-05-15T01:41:46.387 回答
21

正确,np.log(x)是 的自然对数(基本e对数)x

对于其他基础,请记住这条对数定律:某个任意 base 中的日志在log-b(x) = log-k(x) / log-k(b)哪里,并且是base 中的日志,例如log-bblog-kk

这里 k =e

l = np.log(x) / np.log(100)

并且l是 x 的 log-base-100

于 2012-05-15T01:41:39.683 回答
15

我通常这样做:

from numpy import log as ln

也许这可以让你更舒服。

于 2019-08-21T15:20:55.783 回答
0

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
于 2021-07-20T16:57:21.373 回答
-3
from numpy.lib.scimath import logn
from math import e

#using: x - var
logn(e, x)
于 2013-03-06T19:52:55.303 回答
-3

您可以通过将 log 的基础设置为 e 来简单地做相反的事情。

import math

e = 2.718281

math.log(e, 10) = 2.302585093
ln(10) = 2.30258093
于 2020-10-16T01:29:33.713 回答