【发布时间】:2018-12-09 00:02:47
【问题描述】:
以下输入,通过sympy运行时
atan(2+sqrt(3))
返回
1.30899693899575
而不是
5π/12
为什么会这样?
【问题讨论】:
-
事实上,确实如此:
sympy.atan(2+sympy.sqrt(3)).evalf()==(5*sympy.pi/12).evalf()是True。 -
是的,它将值评估为 true,但不在以精确形式返回的特殊值列表中。 (假设存在这样的列表)
-
那么你的问题被错误地问了:你不是在寻找一个精确的值,而是一个特殊形式的值。答案是:大概 5π/12 还不够特别。
-
结果有什么问题?
5π/12 ≈ 1.3089969389957471826927680763665。普通算术不返回符号结果 -
我无法重现此内容。
atan(2+sqrt(3))为我返回atan(2+sqrt(3)),而不是1.30899693899575。
标签: python math sympy trigonometry