如何用python求解“多维线性微分方程”?

时间:2018-01-15 10:26:56

标签: python linear differential-equations

你如何解决“多维线性微分方程”? (例如,dd / dt = z,dy / dt = y,dz / dt = x,初始值=(x0,y0,z0)) 我想得到的不是数值解,而是解析解。

我喜欢python,所以我想用python解决它。 但是,如果不可能,我将使用其他语言。 请告诉我应该使用哪些包或语言。

1 个答案:

答案 0 :(得分:0)

您的示例问题可以在python中实现为

from sympy import dsolve, symbols, Eq
t = symbols('t')
x, y, z = symbols('x, y, z', function=True)
eqns = [ Eq(x(t).diff(t), z(t)), Eq(y(t).diff(t),y(t)), Eq(z(t).diff(t),x(t)) ]
dsolve(eqns)

明显错误的结果

[Eq(x(t), -C1*exp(-t) + C3*exp(t)),
 Eq(y(t), C2*exp(t) + C3*t*exp(t)),
 Eq(z(t), C1*exp(-t) + C3*exp(t))]

'y(t)'中不应该有第二个词。