mindspore.ops.atan2

mindspore.ops.atan2(x, y)[源代码]

逐元素计算x/y的反正切值。

返回 \(\theta\ \in\ [-\pi, \pi]\) ,使得 \(x = r*\sin(\theta), y = r*\cos(\theta)\) ,其中 \(r = \sqrt{x^2 + y^2}\) 。 输入 xy 会通过隐式数据类型转换使数据类型保持一致。如果数据类型不同,低精度的数据类型会被转换到高精度的数据类型。

参数:
  • x (Tensor) - 输入Tensor,shape: \((N,*)\) ,其中 \(*\) 表示任何数量的附加维度。

  • y (Tensor) - 输入Tensor,shape应能在广播后与 x 相同,或 x 的shape在广播后与 y 相同。

返回:

Tensor,与广播后的输入shape相同,和 x 数据类型相同。

异常:
  • TypeError - xy 不是Tensor。

  • RuntimeError - xy 之间的数据类型转换不被支持

支持平台:

Ascend CPU GPU

样例:

>>> x = Tensor(np.array([0, 1]), mindspore.float32)
>>> y = Tensor(np.array([1, 1]), mindspore.float32)
>>> output = ops.atan2(x, y)
>>> print(output)
[0.        0.7853982]