python - sympy atan 没有返回确切的值
问题描述
以下输入,当运行时sympy
atan(2+sqrt(3))
返回
1.30899693899575
代替
5π/12
这是为什么?
解决方案
如果您怀疑结果可以用 pi 来写,您可以尝试nsimplify
将 pi 提示为常数。
>>> nsimplify(atan(sqrt(3) + 2), [pi])
5*pi/12
顺便说一句,您可以通过查看其eval
方法的源代码来了解任何 trig 函数可以识别哪些特殊值。
推荐阅读
- php - fgetcsv 数组打印失败
- python - 如何替换/覆盖 EmailMultiAlternatives 的默认标头
- dart - Flutter 在检查是否已安装时返回 noSuchMethodError
- javascript - React表单元素如何获取事件参数
- php - Prestashop 自定义模块可拖动排序/顺序
- android - RecyclerView with CardView Items, notifyItemChanged 和 shadow 问题
- r - 在 R 中有什么方法可以在一列中找到“文本”,将相同的值放在 R 数据框中的另一列中?
- excel - 如何将日期中的月份替换为特定月份?
- matlab - 为什么通过 lsqcurvefit 和 fminunc 函数获得的标准误差不同?
- python - Pandas DataFrame Groupby 两列并添加移动平均列