如何用Python解决非线性微分系统?

时间:2019-05-18 19:23:50

标签: python python-3.x differential-equations non-linear

我有一个非线性微分系统:

  • (1) f''(t)=r(f(t))
  • (2) g''(t)=s(f(t),g(t))

其中s(f(t),g(t))可能是s(f(t),g(t))=f(t)*g(t)s(f(t),g(t)) = cos(f(t))*sin(g(t)) ...,我们知道g和s。我想用Python解决这个系统,但我不知道如何。用scipy.integrate.odeint可以很容易地解决第一个方程式,但是我不知道如何解决整个系统。

1 个答案:

答案 0 :(得分:1)

如果已将rs作为函数,则可以按以下方式构建系统

def derivs(t,u): f,g, df, dg = u; return [ df, dg, r(f), s(f,g) ]

u = odeint(derivs, u0, t_array, tfirst=True)

f,g, df, dg = u.T
plt.plot(t_array,f, t_array,g)

或您想对解决方案进行的任何操作。