我正在使用math.acos()函数:
0..255(is_waiting_for_data)
这会引发数学域错误。有人能说出原因吗?我得到之前计算的这个值,这里这个值给出错误但是如果我在结尾处删除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)不会抛出任何错误。