Vous êtes sur la page 1sur 8

Résolution numérique des équations différentielles

1. Méthode d’Euler
Notre problème est de résoudre
Y ‘(t) =f(t,Y(t)) avec t∈ [𝑎, 𝑏]
Par exemple : Y’(t)=50Y(t)+√𝒕

C’ad trouver Y(t)=∫ f(x, Y(x)) dx

Donc pour résoudre ça on peut approximer l’intégral


par les méthodes d’intégrations numérique :

𝑏−𝑎
On subdivise l’intervalle d’un pas : h= .
𝑛
t0=a , t1 , t2 , …….. tn = b avec tk+1 – tk = h

on choisit la méthode des rectangles (gauche ) :


𝐛
∫𝐚 f(x)dx ≃ (𝐛 − 𝐚 )f(a)

EA
Y(t)=∫ f(x, Y(x)) dx
tk+1
 Y(tk+1)- Y(tk) = ∫tk f(x, Y(x))dx= (tk+1-tk) f(tk,Y(tk))
 Y(tk+1)= Y(tk) + (tk+1-tk) f(tk,Y(tk)) avec tk+1 – tk =h
 Y(tk+1)= Y(tk) + h f(tk,Y(tk))
 D’où :
Yk+1= Yk + h f(tk,Yk) avec Y0 =Y(0).
 Si on travaille avec la méthode de rectangle droite
Yk+1= Yk + h f(tk+1,Yk+1) avec Y0 =Y(0).

EA
Revenant a notre exemple :

Y’(t)=50Y(t)+√𝒕 ; sur [0 ; 1]
Avec : Y(0)=1
h=0,1 (diviser l’intervalle en 10 sous intervalle)

la formule c’est :
Yk+1= Yk + h f(tk,Yk) avec Y0=1 ; f(tk,Yk)= 50Yk+√𝒕k

Y1=Y0+ h f(t0 ;Y0) =1+0,1(50*1+√0 )=6


Y2=Y1+ h f(t1 ;Y1) =6+0,1(50*6+√0,1 )=36,0316
Y3=Y2+ h f(t2 ;Y2) =36,0316+0,1(50*300,316+√0,2 )= 216,1343
.
.
.
.
Y10=Y9+ h f(t9 ;Y9) =60146678,5926 😊

Et avec c’est point on peut approcher la fonction (l’interpolation-DL).

EA
Et gardons en mémoire qu’on a travaillé avec la méthode des rectangles pour
approcher l’intégral ; donc ca sera très intéressant si on utilise les méthodes des
trapèzes / Simpson / Gauss qui vont évidemment nous donner des approximations
plus exactes.

😊C’est RUNGE-KUTTA !!!!!!!!!!

EA
2. Méthode de RUNGE-KUTTA :
Si on utilise la méthode du trapèze :

𝐛 𝐛−𝐚
∫𝐚 f(x)dx ≃ 𝟐
[f(a)+f(b)]
d′ où
𝐭𝐤+𝟏 𝒉 𝐡
∫𝐭𝐤 𝐟(𝐱, 𝐘(𝐱))𝐝𝐱 ≃ [(f(tk,y(tk))+f(tk+1,y(tk+1))] = [Y(tk)+Y(tk+1)]
𝟐 𝟐

Le problème ici je n’aurais pas la forme d’une suite Un+1=f(Un),car 'intégrale dépend des
valeurs de Yk et Yk+1 . pour résoudre ce problème 😊 on revient chez monsieur Euler afin
d'estimer la valeur Yk+1 qui intervient dans f(tk+1,y(tk+1)) .
On obtient :
𝐡
Yk+1= Yk + 𝟐 (A1 +A2)
avec
 A1= f( tk ; y(tk) )
 A2= f( tk+h ; y(tk)+h*A1)

On appel ça : Méthode de RUNGE-KUTTA d’ordre 2


EA
Ettttt si on utilise Simpson 😊 😊 😊

C’est : Méthode de RUNGE-KUTTA d’ordre 4

𝐛 𝐛−𝐚 𝒂+𝒃
∫𝐚 f(x)dx ≃ [ f(a) + 4 f( ) + f(b) ]
𝟔 𝟐

d′ où:
𝐭𝐤+𝟏 𝒉
∫𝐭𝐤 𝐟(𝐱, 𝐘(𝐱))𝐝𝐱 ≃ [ ( f( tk , y(tk) ) + 4 f( t(k+1)/2 ; y( t(k+1)/2) ) + f( tk+1 ; y( tk+1 ) ) ]
𝟔
𝐡
= [ Y( tk ) + 4 Y( t(k+1)/2 ) + Y( tk+1 ) ]
𝟔

Encore le problème ☹ Un+1 et U(n+1/2)  Euler

On décompose le terme 4Y(t(k+1)/2)= 2Y(t(k+1)/2)+ 2Y(t(k+1)/2)

Dans le premier, on remplace y(t(k+1)/2) par sa valeur déduite de la méthode d'Euler


explicite .Dans le deuxième terme, on la remplace par sa valeur déduite de la méthode
d'Euler implicite .

EA
Les méthodes d'Euler implicite et explicite produisant des erreurs quasi opposées, on a ainsi
l'espoir de minimiser l'erreur sur le calcul 😊

 4Y(t(k+1)/2)= 2A2+2A3

On obtient :

𝐡
Yk+1= Yk + (A1+2A2+2A3+A4)
𝟔
Avec
 A1= f( tk ; y(tk) )
𝟏 𝟏
 A2= f( tk + h ; y(tk) + h*A1)
𝟐 𝟐
𝟏 𝟏
 A3= f( tk + h ; y(tk) + h*A2)
𝟐 𝟐
 A4= f( tk + h ; y(tk) + h*A3)

EA
Application:

Y’= 1 - Y  Y ‘(t) = f( t ; Y(t)) = 1 - Y(t) ; Y(0)=0

 On connaît la solution Y=1-𝑒 −𝑡


Quesque ça va nous donner RK4 en Y1=Y(h) ?

A1= f( 0 ; y(0) )=1


1 1 𝟏
A2= f( h ; y(0)+ h*A1)=1- h
2 2 𝟐
1 1 𝟏 𝟏
A3= f( h ; y(0)+ h*A2)= 1- (h- h²)
2 2 𝟐 𝟐
𝟏 𝟏
A4= f( h ; y(0)+ h*A3)= 1- h(1- h+ h²)
𝟐 𝟒
D’où
h 𝟏 𝟏 𝟏
Y1= Y0 + (A1+2A2+2A3+A4 ) =h - h² + h3 - h4
6 𝟐 𝟔 𝟐𝟒

Qui n'est rien d'autre que le développement limité de la solution exacte Y(h) à l'ordre 4 😊

‫ونفرحوووووووو‬

EA

Vous aimerez peut-être aussi