1. 程式人生 > 其它 >numpy中使用對數函式的方法

numpy中使用對數函式的方法

技術標籤:pythonnumpypython

先介紹一個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 that log(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,大功告成!
在這裡插入圖片描述