numpy中使用對數函式的方法
阿新 • • 發佈:2021-01-08
先介紹一個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 base
e
.
我們輸入的引數可以是一個數或者陣列。
np.log(1)
輸出:
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,大功告成!