L'équation différentielle nous donne y′(t)=f(t,y). En dérivant cette relation, on peut exprimer toutes les dérivées supérieures y′′,y′′′,… en fonction de t, y et des dérivées partielles de f.
Calcul des dérivées successives
Dérivée première
Par définition de l'ÉD :
y′(t)=f(t,y(t))
Dérivée seconde
En dérivant par rapport à t (règle de la chaîne) :
def taylor_order2(f, df_dt, t0, y0, h, n_steps): """ Méthode de Taylor d'ordre local h³ (ordre global h²). Paramètres: f: fonction f(t, y) = y' df_dt: fonction donnant y'' = f_t + f_y * f t0, y0: conditions initiales h: pas de discrétisation n_steps: nombre de pas Retourne: t, y: tableaux des valeurs """ t = [t0] y = [y0] for j in range(n_steps): tj, yj = t[-1], y[-1] # Dérivées y_prime = f(tj, yj) y_second = df_dt(tj, yj) # Formule de Taylor y_next = yj + h * y_prime + (h**2 / 2) * y_second t.append(tj + h) y.append(y_next) return t, y# Exemple d'utilisation pour y' = -t*y²def f(t, y): return -t * y**2def df_dt(t, y): # y'' = -y² + 2t²y³ return -y**2 + 2 * t**2 * y**3t, y = taylor_order2(f, df_dt, t0=0, y0=1, h=0.1, n_steps=10)
Avantages et inconvénients
Avantages
Inconvénients
Précision arbitraire (en augmentant l'ordre)
Calcul fastidieux des dérivées de f
Fondement théorique solide
Expressions complexes pour les ordres élevés
Base des méthodes de Runge-Kutta
Nécessite les dérivées partielles de f
✅
En pratique
La méthode de Taylor est rarement utilisée directement en raison de la difficulté à calculer les dérivées de f. Les méthodes de Runge-Kutta atteignent le même ordre de précision sans nécessiter ces dérivées explicites.
Visualisation : effet de l'ordre de Taylor
Résumé
La méthode de Taylor utilise le développement de Taylor pour approximer y(tj+1)
Les dérivées y′′,y′′′,… s'expriment via la règle de la chaîne : y′′=ft+fy⋅f
Ordre localhn+1 → ordre globalhn
La méthode est précise mais requiert le calcul explicite des dérivées de f
Pour aller plus loin
Dans la prochaine leçon, nous verrons la méthode d'Euler, qui est le cas particulier le plus simple de la méthode de Taylor (ordre 1).