在 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
函数之一将在野外出现。
使用 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
函数之一将在野外出现。