我正在阅读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.
我知道如何计算有符号的弧度值以及应该输出什么样的答案。有点像这样:
我不明白的是,0
,π
和inf
应该在文档中带来什么样的意义?他们应该提出什么样的价值观?
以文档编号2)
为例:
假设x1
(或y坐标)为5,x2
(或x坐标)为-5。 arctan2
的结果介于π/2
和π
之间。这与上述文档中π
的值相对应?
答案 0 :(得分:0)
该表仅解决了有符号零或无穷大的异常浮点值的特殊情况。 0.0
和-0.0
是单独的浮点值,但它们的比较相同。 float("inf")
(在numpy中也称为np.inf
)也是一个特定的浮点值,它的否定(可以拼写为float("-inf")
,-float("inf")
或{{1} })。
-np.inf
函数定义良好,即使对于这些不起眼的浮点值,该表总结了它的工作原理。表格中的第二条规则是arctan2
为arctan2(0.0, -0.0)
,pi
为arctan2(-0.0, -0.0)
。无限值的结果非常简单。对于带符号的零,如果您认为-pi
是一个无穷小的正数,而0.0
是一个无穷小的负数,那就没有意义。
图表对-0.0
的价值没有任何说法,因为这不是一个特例。实际上,该调用恰好产生与arctan2(5, -5)
相同的结果,arctan(np.inf, -np.inf)
在表格中显示为3*pi/4
,但这只是您选择的数字的巧合。