mars.tensor.arctan#

mars.tensor.arctan(x, out=None, where=None, **kwargs)[来源]#

三角函数反正切,逐元素计算。

tan的反函数,所以如果 y = tan(x) 那么 x = arctan(y)

Parameters
  • x (类似数组) –

  • out (Tensor, None, 或 tupleTensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。

  • where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。

  • **kwargs

Returns

out – out的形状与 x 相同。它的实部在 [-pi/2, pi/2] (arctan(+/-inf) 返回 +/-pi/2). 如果 x 是一个标量,则它是一个标量。

Return type

张量

另请参阅

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. 和 Stegun, I. A.,《数学函数手册》,第10版,纽约:Dover,1964年,79页。http://www.math.sfu.ca/~cbm/aands/

示例

我们期望0的反正切为0,1的反正切为pi/4: >>> import mars.tensor as mt

>>> mt.arctan([0, 1]).execute()
array([ 0.        ,  0.78539816])
>>> mt.pi/4
0.78539816339744828

绘制反正切:

>>> import matplotlib.pyplot as plt
>>> x = mt.linspace(-10, 10)
>>> plt.plot(x.execute(), mt.arctan(x).execute())
>>> plt.axis('tight')
>>> plt.show()