先介绍一个numpy中的常量 e e e,即自然底数。
import numpy as np
np.e
结果:
然后我们开始使用对数函数np.log()
。要注意的是,这个对数函数是以
e
e
e为底的对数函数,即这是一个自然对数运算。
The natural logarithm
log
is the inverse of the exponential function,so thatlog(exp(x)) = x
. The natural logarithm is logarithm in basee
.
我们输入的参数可以是一个数或者数组。
1.输入数:
np.log(1)
输出:
2.输入数组:
x=[1, np.e, np.e**2, 0]
np.log(x)
输出:
其中第4个表示
−
∞
-\infty
−∞
一个问题来了,如果要进行以其他为底(比如2,10)的对数函数运算怎么办?
可以通过间接实现,因为有
log m n = log e n log e m \log_mn=\frac{\log_en}{\log_em} logmn=logemlogen
所以我们定义函数如下:
def log(base,x):
return np.log(x)/np.log(base)
然后,如果我们要计算 log 2 8 \log_28 log28:
log(2,8)
输出3,大功告成!