Реализация метода Эйлера для функциональных дробных дифференциальных уравнений в python

avatar
chrissss
8 августа 2021 в 16:04
54
0
0

Я пытаюсь реализовать метод Эйлера для функционального дробного DE, но метод расходится. Я не знаю, где моя ошибка в коде. может кто-нибудь взглянуть на мой код:

def FFEuler(f,u0,t,h,m):
    y = np.zeros(len(t))
    
    # initial condition for the delay
    us = [s**5 +3*s**4 - 2*s**3 for s in range(-m,0)]
    for i in range(m):
        y[i] = us[i]
    # the method itself
    for i in range(0, len(t) - 1):
        y[i+1] = u0 + sum([(1/gamma(3))*((i-j+1)**2 -(i-j)**2)*f(y[j],y[j-m],t[j])  for j in range(0, i)])*h   
    return y 

метод: y_(i+1) = u0 + \alpha \sum_{j = 0}{i}b_{j,i+1}f(t_j,u_j,u_{j-m}, с начальным условием: u_i = \phi (s_i), где - m <= i <= 0

для моего случая \phi (s_i) = s^5 + 3s^4 - 2s^3

Источник

Ответы (0)