maxframe.tensor.arctan#

maxframe.tensor.arctan(x, out=None, where=None, **kwargs)[源代码]#

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

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

参数:
  • x (array_like)

  • out (Tensor, None, or tuple of Tensor and None, optional) -- 用于存储结果的位置。如果提供了该参数,则其形状必须可以广播到输入的形状。如果未提供或为 None,则返回一个新分配的张量。一个元组(只能作为关键字参数)必须长度等于输出的数量。

  • where (array_like, optional) -- 值为 True 表示在该位置计算 ufunc,值为 False 表示保留输出中的值不变。

  • **kwargs

返回:

out -- 输出与 x 具有相同的形状。其实部在 [-pi/2, pi/2] 范围内(arctan(+/-inf) 返回 +/-pi/2)。如果 x 是标量,则输出也为标量。

返回类型:

Tensor

参见

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 maxframe.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()