使用 numpy,我如何做到以下几点:
ln(x)
是否等同于:
np.log(x)
我为这样一个看似微不足道的问题道歉,但是我对 log和 ln之间的区别的理解是,ln是日志空间 e?
log
ln
正确,np.log(x)是 x的自然日志(基本 e日志)。
x
e
对于其他碱基,请记住这个日志定律: log-b(x) = log-k(x) / log-k(b),其中 log-b是某个任意碱基 b中的日志,而 log-k是碱基 k中的日志,例如。
log-b(x) = log-k(x) / log-k(b)
log-b
b
log-k
k
这里 k = e
l = np.log(x) / np.log(100)
l是 x 的 log-base-100
l
np.log 是 ln,而 np.log10是标准的碱基10日志。
np.log
np.log10
from numpy.lib.scimath import logn from math import e #using: x - var logn(e, x)
我通常这样做:
from numpy import log as ln
也许这能让你舒服点。
你可以简单地做相反的事,把 log 的底数设置为 e。
import math e = 2.718281 math.log(e, 10) = 2.302585093 ln(10) = 2.30258093
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