使用math.acos函数的Python数学域错误

时间:2015-06-20 14:26:52

标签: python

我正在使用math.acos()函数:

0..255(is_waiting_for_data)

这会引发数学域错误。有人能说出原因吗?我得到之前计算的这个值,这里这个值给出错误但是如果我在结尾处删除2它不会抛出错误。我没理由这个。

2 个答案:

答案 0 :(得分:8)

您正在尝试acos不存在acos的号码。

Acos - Arccosine , which is the inverse of cosine function.

acos的输入值范围为-1 <= x <= 1

因此,在尝试做 - math.acos(1.0000000000000002)时,您会收到错误。

如果您尝试使用更高的数字,则会出现同样的错误 - math.acos(2) - 导致 - ValueError: math domain error

答案 1 :(得分:2)

反余弦仅定义在-1和1之间,包括-1和1。 1.0000000000000002的反余弦除了&#34;不存在&#34;之外没有数学或语义含义。或&#34; undefined&#34;。

当然,由于1的反余弦确实存在,acos(1)不会抛出任何错误。