使用numpy,我该怎么做:
ln(x)
是否相当于:
np.log(x)
我为这个看似微不足道的问题道歉,但我对log
和ln
之间区别的理解是ln
是logspace e?
答案 0 :(得分:95)
np.log
是ln
,而np.log10
是您的标准基数10日志。
相关文件:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.log.html
http://docs.scipy.org/doc/numpy/reference/generated/numpy.log10.html
答案 1 :(得分:14)
正确,np.log(x)
是e
的自然日志(基本x
日志)。
对于其他基础,请记住此日志法则:log-b(x) = log-k(x) / log-k(b)
其中log-b
是某个任意基数b
中的日志,log-k
是基数k
1}},例如
这里k = e
l = np.log(x) / np.log(100)
和l
是x
答案 2 :(得分:2)
我通常会这样:
from numpy import log as ln
也许这会让您更舒适。
答案 3 :(得分:0)
您可以简单地通过将日志的底数设为e来进行相反操作。
import math
e = 2.718281
math.log(e, 10) = 2.302585093
ln(10) = 2.30258093
答案 4 :(得分:0)
Numpy 似乎从 MATLAB/Octave 中得到提示,并使用 log
作为“对数基数 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
答案 5 :(得分:-3)
from numpy.lib.scimath import logn
from math import e
#using: x - var
logn(e, x)