我正在尝试用python中的Symphy模块求解一个微分方程。 这就是我所做的
from sympy import *
t = sympy.Symbol('t')
k = sympy.Symbol('k')
m = sympy.Symbol('m')
x = sympy.Function('x')(t)
GDE = Eq(m*x.diff(t, 2) + k*x, 0)
solution = dsolve(GDE, x)
display(solution)
现在,我试图得到一个极性形式的解,包括sin,cos和复数项(I),如图所示。在这张图中,w_n是sqrt(k/m)
我试过了
solution.rewrite(sin)
但它返回一个带有双曲函数的表达式。重写(cos)也返回一个带有双曲函数的表达式
我也试过了
solution.rewrite(sin, cos)
但它给出了初步答案
有没有办法把这个指数形式的复数形式转换成没有双曲函数的极性形式
多谢各位
您应该将符号声明为实数或正数等。否则,默认情况下,Symphy会假定类似复数的内容:
然后会自动进行各种简化:
事实上,假设集
dsolve
将自动给出sin
,cos
表单:如果没有设置这些假设,仍然可以将表达式操纵为
sin/cos
形式,但需要一些force=True
来覆盖假设检查:相关问题 更多 >
编程相关推荐