在 sympy 中评估三角函数表达式

Evaluating trigonometric expressions in sympy

使用 python 2.7 和 PyCharm 社区版 2016.2.3 + Anaconda 发行版。

我的输入类似于:

from sympy import *

x = symbols('x')
f = cos(x)
print (f.subs(x, 25))

输出为 cos(25), .有没有办法在某个角度评估 sin/cos 等三角恒等式?我试过 cos(degrees(x)),但没有什么不同。我是否遗漏了文档的某些关键部分,或者真的没有办法做到这一点?谢谢你的帮助:)

使用function N:

执行数值评估
>>> from sympy import N, symbols, cos
>>> x = symbols('x')
>>> f = cos(x)
>>> f.subs(x, 25)
cos(25)
>>> N(f.subs(x, 25)) # evaluate after substitution 
0.991202811863474

要以度为单位进行计算,请使用 mpmath.radians 将角度转换为弧度,因此计算是在 rad 值上执行的:

>>> import mpmath
>>> f.subs(x, mpmath.radians(25))
0.906307787036650

使用 * 导入(通配符导入)不是一个好主意。想象一下,如果您同样执行 from math import * 会发生什么情况,那么来自两个模块的 cos 函数之一将在野外出现。

参见PEP 8 guideline on imports