Как решить эту систему дифференциальных уравнений IVP - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть система дифференциальных уравнений, подобная этой

dy/dt = f(t,y,y1,y2,....,yn,x), dy1/dt = f(t,y,y1,y2,..yn,x), . . . dyn/dt = f(t,y,y1,y2,..yn,x), x(t) = f(t,y1,y2,...yn,x)

И у меня есть значения y_i (0), x (0). Если бы я имел dx / dt, то просто используя scipy.integrate IVP Я мог бы решить это. Я не могу рассчитать производную от х (т), это слишком сложно. Могу ли я смоделировать эту систему в python, не найдя dx / dt?

1 Ответ

0 голосов
/ 26 апреля 2020

Нет проблем, определите

def derivatives(t,y):
    xt = func_x(t,y);
    dy = func_y(t,y,xt)
    return dy

, где func_y принимает скалярные (t, xt) и векторные (y) аргументы и возвращает вектор того же размера, что и y. Это тогда хорошо работает с solve_ivp.

...