numpy.arctan#

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

三角反正切,逐元素。

tan 的反函数,因此如果 y = tan(x),则 x = arctan(y)

参数:
xarray_like
outndarray, None, or tuple of ndarray and None, optional

结果存储的位置。如果提供了,它必须具有输入广播到的形状。如果未提供或为 None,则返回一个新分配的数组。元组(仅可能作为关键字参数)的长度必须等于输出的数量。

wherearray_like, optional

此条件将广播到输入。在条件为 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 并设置 无效 浮点错误标志。

对于复值输入,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-arctan-1.png