Как решить нелинейную дифференциальную систему с Python? - PullRequest
0 голосов
/ 18 мая 2019

У меня нелинейная дифференциальная система:

  • (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 Ответ

1 голос
/ 18 мая 2019

Если вы задали r и s как функции, то вы можете построить систему как

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)

или что вы хотите сделать с решением.

...