Я хочу решить уравнение в Python за промежуток времени I = [0,10] с начальным условием (x_0, y_0) = (1,0) и значениями параметров μ ∈ {-2, -1, 0, 1, 2} с помощью функции
scipy.integrate.odeint
Затем я хочу построить решения (x (t; x_0, y_0), y (t; x_0, y_0)) вплоскость ху.
Первоначально заданная линейная система:
dx / dt = y, x (0) = x_0
dy / dt = - x - μy, y (0) =y_0
Пожалуйста, смотрите мой код ниже:
import numpy as np
from scipy.integrate import odeint
sol = odeint(myode, y0, t , args=(mu,1)) #mu and 1 are the coefficients when set equation to 0
y0 = 0
myode(y, t, mu) = -x-mu*y
def t = np.linspace(0,10, 101) #time interval
dydt = [y[1], -y[0] - mu*y[1]]
return dydt
Может ли кто-нибудь проверить, правильно ли я определил вызываемую функцию myode ?Эта функция оценивает правую часть ODE.
Также для этой строки кода появилось сообщение об ошибке синтаксиса
def t = np.linspace(0,10, 101) #time interval
, сообщающее, что синтаксис неверен.Должен ли я как-то использовать
for * in **
, чтобы избавиться от сообщения об ошибке?Если да, то как именно?
Я очень плохо знаком с Python и ODE.Может ли кто-нибудь помочь мне с этим вопросом?Большое спасибо!