首页 > 解决方案 > sympy atan 没有返回确切的值

问题描述

以下输入,当运行时sympy

atan(2+sqrt(3))

返回

1.30899693899575

代替

5π/12

这是为什么?

标签: pythonmathsympytrigonometry

解决方案


如果您怀疑结果可以用 pi 来写,您可以尝试nsimplify将 pi 提示为常数。

>>> nsimplify(atan(sqrt(3) + 2), [pi])
5*pi/12

顺便说一句,您可以通过查看其eval方法的源代码来了解任何 trig 函数可以识别哪些特殊值。


推荐阅读