numpy.atan#

numpy.atan(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'arctan'>#

三角反正切,逐元素運算。

tan 的反函數,因此如果 y = tan(x),則 x = arctan(y)

參數:
x類陣列
outndarray、None 或 ndarray 和 None 的元組,選用

結果儲存的位置。如果提供,則必須具有輸入廣播到的形狀。如果未提供或為 None,則會傳回新分配的陣列。元組(僅可能作為關鍵字引數)的長度必須等於輸出的數量。

where類陣列,選用

此條件會廣播到整個輸入。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設 out=None 建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。

**kwargs

對於其他僅限關鍵字的引數,請參閱 ufunc 文件

傳回:
outndarray 或純量

輸出與 x 具有相同的形狀。其實部在 [-pi/2, pi/2] 範圍內(arctan(+/-inf) 傳回 +/-pi/2)。如果 x 是純量,則這是一個純量。

參見

arctan2

由 (x, y) 和正 x 軸形成的角度的「四象限」反正切。

angle

複數值的引數。

註解

arctan 是一個多值函數:對於每個 x,都有無限多個數字 z 使得 tan(z) = x。慣例是傳回實部在 [-pi/2, pi/2] 範圍內的角度 z

對於實數值輸入資料類型,arctan 總是傳回實數輸出。對於每個無法表示為實數或無窮大的值,它會產生 nan 並設定 invalid 浮點錯誤標誌。

對於複數值輸入,arctan 是一個複數解析函數,它將 [1j, infj] 和 [-1j, -infj] 作為分支切割,並且在前者的左側和後者的右側是連續的。

反正切也稱為 atan 或 tan^{-1}。

參考文獻

Abramowitz, M. and Stegun, I. A., *Handbook of Mathematical Functions*, 10th printing, New York: Dover, 1964, pp. 79. https://personal.math.ubc.ca/~cbm/aands/page_79.htm

範例

我們預期 0 的反正切為 0,而 1 的反正切為 pi/4

>>> import numpy as np
>>> np.arctan([0, 1])
array([ 0.        ,  0.78539816])
>>> np.pi/4
0.78539816339744828

arctan 繪圖

>>> import matplotlib.pyplot as plt
>>> x = np.linspace(-10, 10)
>>> plt.plot(x, np.arctan(x))
>>> plt.axis('tight')
>>> plt.show()
../../_images/numpy-atan-1.png