Я хочу решить дифференциальное уравнение с импульсным моментом. Мне нужно изменить начальное значение в каждом новом интервале, но я не смог. Мне нужна помощь, чтобы исправить новое начальное значение. Математически это должно быть y0=y(interval_(i+1))+2/3
. Спасибо.
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
interval=[]
for i in range(10):
interval.append(i)
def dy_dt(y, t):
return (2-2*y)
y0 = 0.6
for i in range(1,9):
ys = odeint(dy_dt, y0, np.linspace(interval[i],interval[i+1],100))
y0=ys[interval[i+1]]+2/3 #new initial value. I need help to fix here
plt.xlabel("t")
plt.ylabel("y")
plt.plot(np.linspace(interval[i],interval[i+1],100), ys);