了解NumPy的arctan2文档

时间:2017-01-23 10:08:20

标签: python numpy math

我正在阅读Numpy的arctan2's documentation,在那里我遇到了这个:

    x1        x2     arctan2(x1,x2)

1) +/- 0      +0        +/- 0
2) +/- 0      -0        +/- pi
3) > 0      +/-inf     +0 / +pi
4) < 0      +/-inf     -0 / -pi
5) +/-inf    +inf     +/- (pi/4)
6) +/-inf    -inf     +/- (3*pi/4)

Note that +0 and -0 are distinct floating point numbers, as are +inf and -inf.

我知道如何计算有符号的弧度值以及应该输出什么样的答案。有点像这样:

arctan

我不明白的是,0πinf应该在文档中带来什么样的意义?他们应该提出什么样的价值观?

以文档编号2)为例:

假设x1(或y坐标)为5,x2(或x坐标)为-5。 arctan2的结果介于π/2π之间。这与上述文档中π的值相对应?

1 个答案:

答案 0 :(得分:0)

该表仅解决了有符号零或无穷大的异常浮点值的特殊情况。 0.0-0.0是单独的浮点值,但它们的比较相同。 float("inf")(在numpy中也称为np.inf)也是一个特定的浮点值,它的否定(可以拼写为float("-inf")-float("inf")或{{1} })。

-np.inf函数定义良好,即使对于这些不起眼的浮点值,该表总结了它的工作原理。表格中的第二条规则是arctan2arctan2(0.0, -0.0)piarctan2(-0.0, -0.0)。无限值的结果非常简单。对于带符号的零,如果您认为-pi是一个无穷小的正数,而0.0是一个无穷小的负数,那就没有意义。

图表对-0.0的价值没有任何说法,因为这不是一个特例。实际上,该调用恰好产生与arctan2(5, -5)相同的结果,arctan(np.inf, -np.inf)在表格中显示为3*pi/4,但这只是您选择的数字的巧合。