# Résoudre l'EDO dx/dt = f(x(t), t) avec la méthode d'Euler # # Arguments: # f = fonction à deux arguments = membre de droite de l'EDO # x0 = x(0) condition initiale # a = pas d'incrément en t # N = nombre de points à calculer # # Renvoie une liste de N+1 valeurs [x(0),...,x(Na)] def euler(f, x0, a, N): x = [x0] # une liste qui contient initialement x0 xn = x0 for n in range(N): xn += a * f(xn, a*n) x += [xn] # ajouter xn à la liste x return x