使用者:Xyy23330121/Python/科學計算/numpy數學函數
外觀
本頁面用於給出 numpy 中數學函數的列表以及具體使用。
以下列表均省略了 numpy 前綴,比如下面的 sin() 函數,在實際使用時,需要加上前綴,比如:
import numpy as np
x = np.array([1,2,3])
print(np.sin(x))
函數 | 說明 |
---|---|
sin(x, /[, out, where, casting, order, ...]) | 正弦 |
cos(x, /[, out, where, casting, order, ...]) | 餘弦 |
tan(x, /[, out, where, casting, order, ...]) | 正切 |
arcsin(x, /[, out, where, casting, order, ...]) | 反正弦,結果取值範圍[-pi/2, pi/2] |
asin(x, /[, out, where, casting, order, ...]) | 反正弦,同上 |
arccos(x, /[, out, where, casting, order, ...]) | 反餘弦,結果取值範圍[0, pi] |
acos(x, /[, out, where, casting, order, ...]) | 反餘弦,同上 |
arctan(x, /[, out, where, casting, order, ...]) | 反正切,結果取值範圍[-pi/2, pi/2] |
atan(x, /[, out, where, casting, order, ...]) | 反正切,同上 |
hypot(x1, x2, /[, out, where, casting, ...]) | 給定直角邊邊長,求斜邊長 等同於sqrt(x1**2+x2**2) |
arctan2(x1, x2, /[, out, where, casting, ...]) | 求向量(x2,x1)的傾斜角,結果取值範圍[-pi, pi] |
atan2(x1, x2, /[, out, where, casting, ...]) | 求傾斜角,同上 |
degrees(x, /[, out, where, casting, order, ...]) | 將弧度數轉換成對應的角度數 |
rad2deg(x, /[, out, where, casting, order, ...]) | 將弧度數轉換成對應的角度數,同上 |
radians(x, /[, out, where, casting, order, ...]) | 將角度數轉換成對應的弧度數 |
deg2rad(x, /[, out, where, casting, order, ...]) | 將角度數轉換成對應的弧度數,同上 |
unwrap(p[, discont, axis, period]) | 平緩周期性函數自變量的數值 |
列表列舉了 numpy 的三角函數。
對 p 中的元素進行運算,返回元素加減幾個周期後的結果。
具體來講,當 p 中後一項和前一項的差的絕對值大於 max(discont, period/2) 時,就會轉換後一項。將後一項轉換為在距離前一項 max(discont, period/2) 範圍內的數字。
本章介紹大多數 numpy 中三角函數具有的可選參數。這些參數除 out 以外,都必須使用關鍵詞方式傳入。
該參數默認為 None,該參數可以輸入一個數組。
- 如果該參數為 None,函數的返回值會存儲在新創建的數組裡面,並返回新創建的數組。
- 如果該參數輸入了數組,則要求數組的形狀與返回值的形狀相同,計算的結果會存儲在輸入的數組中。
x = np.array([1,4],dtype=float)
y = np.array([0,0],dtype=float)
print(np.sqrt(x, out=y)) #输出:[1. 2.]
print(x) #输出:[1. 4.]
print(y) #输出:[1. 2.],np.sqrt 函数将运算结果存储在了 y 中
該參數默認為 True,該參數可以輸入一個存儲了布爾值的數組。
- 如果該參數輸入了數組,則要求數組的形狀與返回值的形狀相同。在計算時,僅對 where 中對應位置為 True 的進行計算,並輸出計算結果。而對應位置為 False 的元素會不經計算直接輸出。
- 如果該參數為 True,則所有元素都會被用於計算,並輸出。
x = np.array([1, 4, 9],dtype=float)
y = np.array([True, False, True])
print(np.sqrt(x, where=y)) #输出:[1. 4. 3.]
#只有对应位置为 True 的 1 和 9 参与了平方根运算,而对应位置为 False 的 4 被直接输出了。
該參數默認為 "same_kind"
。
該參數決定是否在計算時、自動轉換數組中元素的類型。以下是所有選項:
"no"
不進行自動轉換。"equiv"
只翻轉比特順序。"safe"
只對數字進行轉換。比如 int 轉換為 float 或 complex,以及 float 轉換為 complex。"same_kind"
只可以將類型轉換為不同精度的同種類型。比如 int64 轉換為 int32。"unsafe"
只要可能進行轉換,就會進行轉換。比如把 int32 轉換為 str 或者把 int64 轉換為 int32。轉換過程中可能報錯。
讀者可以通過 can_cast(from_, to, casting) 來確認兩個類型在對應規則下是否可以轉換。
決定輸出時使用的數字類型。
默認為 True。
- 若此項為 True,如果輸入為數組的子類型(比如 np.matrix 等),則輸出也為對應的子類型。
- 若此項為 False,則無論輸入是什麼,輸出總是數組。
默認為 "K"。
對數組 a 中,參數 axis 所給出的維度進行求和。
- 當 axis=None(默認),會對所有維度進行求和,並返回一個數字。
- 當 axis 為整數,則會對第 axis 個維度進行求和,並按情況返回數字或數組。
- 當 axis 為整數組成的元組,則會對元組中每個維度進行求和,並按情況返回數字或數組。
該函數的結果等同於 a.sum(axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)。
x = np.array([[1,2],[3,4]])
print(x.sum()) #输出:10
print(x.sum(axis = 0)) #输出:[4 6]
print(x.sum(axis = 1)) #输出:[3 7]
print(x.sum(axis = (0, 1))) #输出:10