Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用math.acos函数时出现Python数学域错误_Python - Fatal编程技术网

使用math.acos函数时出现Python数学域错误

使用math.acos函数时出现Python数学域错误,python,Python,我正在使用math.acos()函数: math.acos(1.0000000000000002) 这会引发一个数学域错误。有人能说出原因吗?我之前计算过这个值,这里这个值给出了错误,但是如果我在最后去掉2,它不会抛出错误。我不知道这样做的原因。您试图对一个不存在acos的数字执行acos Acos - Arccosine , which is the inverse of cosine function. acos的输入值范围为-1逆余弦,仅在-1和1之间定义,包括-1和1。弧余弦1.00

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

math.acos(1.0000000000000002)

这会引发一个数学域错误。有人能说出原因吗?我之前计算过这个值,这里这个值给出了错误,但是如果我在最后去掉2,它不会抛出错误。我不知道这样做的原因。

您试图对一个不存在
acos
的数字执行
acos

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

acos的输入值范围为
-1逆余弦,仅在-1和1之间定义,包括-1和1。弧余弦1.0000000000000002除了“不存在”或“未定义”之外,没有任何数学或语义含义


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

角度的余弦始终在范围
[-1.0,1.0]
内,因此反函数仅为该范围内的输入定义。你给
acos
一个大于
1
的值:没有余弦大于
1
的可能(实)角。从数学上来说,你的预期结果是什么?这个特定问题在数值编程中经常出现。投票重新开始。我不明白为什么这个问题结束了。我的同事今天有一个确切的问题,并且或多或少地说明了他是如何问这个问题的。我在计算
math.acos(numpy.dot(a,b))
时遇到了这个问题,其中
numpy.dot
返回了
1.0000000000000002
(由于浮点精度)。有关此问题的解决方案,请参阅。从何时起,
1.0000000000000002
“一个不存在的数字”?!修复了如下措辞-您试图对一个不存在
acos
的数字执行
acos