TP 9

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 10

Université de Blida 1 Département Energies Renouvelables

Master 1 Energies Renouvelables

TP 9 : Résolution Equations Différentielles Ordinaires


d’Ordre supérieur

1. RESUME DE COURS
Soit à résoudre l’équation différentielle ordinaire du type :
y’' + a y '+ b y = f ( x ) tel que y = y(x)

Avec les conditions initiales y(0) = y0 et y’(0) = z0

1.1 Solution analytique :


a/ On commence par résoudre l’équation sans second membre, soit :
y’' + a y '+ b y = 0
Pour cela on calcule les racines de la caractéristique de l’équation :
2 + a  + b = 0
• Si les racines sont réelles la solution dite complémentaire est de la forme :
y1 = A exp ( 1 x ) + B exp ( 2 x ) = 0

Les coefficients A et B sont donnés par les conditions aux limites.


• Si la racine est double, la solution complémentaire est de la forme :
y1 = ( A + B x ) exp (  x )

• Si les racines sont imaginaires, la solution complémentaire est de la forme :


y1 =  A sin (  x ) + B cos (  x )  exp ( x )
Les racines de la caractéristique étant données par λ = α  i 

b/ Solution avec second membre


La solution avec 2d membre ou solution particulière est donnée par :

1 
(( a − b ) + b ) f
 i
 1
y2 =  f ( x ) +   −  ( x )
i i (i )

b  i =1  b  
• La solution générale est donnée par :
y = y1 + y2

1.2 Solution numérique


L’équation peut se mettre sous la forme :

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

y’' = f ( x ) − ( a y '+ b y )

En posant z=y’ on obtient le système :


z ' = f ( x) − (a z + b y )
y' = z

Avec les conditions initiales : y(0) = y0 et y’(0) = z0


Système que l’on peut résoudre par une des méthodes de Runge-Kutta.
Méthodes que nous savons programmer. 0n peut aussi profiter des facilités offertes par matlab
sachant que ces méthodes sont intégrées au matlab de base en tant que fonctions portant les
noms de :
- ode23 pour la méthode d’ordre 2
- ode45 pour la méthode d’ordre 4
La syntaxe est la suivante :
[x, y] = ode23(‘fonction’, [xi xf,], [y0] ) (Même syntaxe pour ode45)
Avec :
xi et xf : limites d’intégration (valeurs initiale et finale de x)
y0 : vecteur des conditions initiales

1.3/ Problème avec conditions aux limites


Dans le cas où, à défaut de condition initiale, on donne une condition à la limite (concerne
généralement les équations d’ordre supérieur à 1), la méthode recommandée est la méthode de
tir. A savoir :
1 On choisit une condition initiale et une erreur admissible ε.
2 On procède à l’intégration
3 On compare la condition initiale à la valeur de y à la limite
4 Si l’écart Observé est inférieur à ε on arrête autrement on reprend l’intégration avec un nouvel
estimé.

2. TRAVAIL DEMANDE :
Application 1 :
Soit à résoudre, pour x allant de 0 à 10, l’équation différentielle ordinaire :
y’' + 2 y ' + y = 0 tel que y = y(x)

Avec les conditions initiales y(0) = y’(0) = 1


1- Donner la solution analytique.
2- Ecrire le système permettant de convertir l’équation différentielle d’ordre 2 en un
système d’équations d’ordre1
3- Résoudre l’équation pour x allant de 0 à 10 en utilisant la méthode de Runge-Kutta
d’ordre 2.

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

4- Résoudre l’équation en utilisant successivement ode23 puis ode45.


5- Tracer les courbes représentatives des 4 solutions.

Application 2 :
Reprendre les mêmes questions pour la résolution de l'équation différentielle ordinaire suivante :
y’' – y’ + 0.75 y = 0 avec y = f(t)

( )
Avec les conditions initiales y(0) =1 et y’ ( 0 ) = 1 + 2 / 2

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

• La solution analytique est donnée par :


y = (1 + 2 x ) exp ( − x )

• Solution numérique :
En posant z = y’, le système à résoudre s’écrit :
z ' = −2 z − y
y' = z
Sous matlab la solution est donnée par :
[t, y] = ode23(‘fode2’, [0 10], [1 1] )
‘fode2’ étant la fonction décrivant le système à résoudre :
Function dy = fode2(t,y)
dy = zeros(2,1); % on impose vecteur colonne
dy(1) =-−2*y(2) − y(1);
dy(2) = y(1)
end

La solution graphique est portée en figure ci-jointe.

1.4
Sol; analytique
Sol. Numérique
1.2

0.8
y

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
x

1.4. Problème avec conditions aux limites

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

Application2
1/ Résoudre numériquement l’équation différentielle de Blasius :
f f ''+ 2 f ''' = 0
Avec les conditions :
f ( 0) = f ' ( 0) = 0 et f '(t →  ) = 1

2/En déduire la valeur de f '' (0)

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

TP 14 : Résolution Equations Différentielles Ordinaires

(Euler, Runge-Kutta)

CORRECTION TYPE

1/ RESUME DE COURS
Ainsi, il s’agit de résoudre, numériquement, l’équation différentielle ordinaire du type :
y’ + a y =g(x) tel que y = y(x)
Avec la condition initiale y(0) = y0
Equation que l’on peut mettre sous la forme :
dy
= f ( x, y ) avec f(x,y) = g(x) – a y
dx
L’intégration entre xi et xi + x, avec un pas t suffisamment petit, donne :
xi +x

y =  f ( x, y ) dx  y ( x + x ) = y ( x ) + f ( x, y ) x
xi
i i

La différence entre les différentes méthodes, présentées par la littérature, réside dans
l’estimation de f ( x, y ) .

1.1/ Méthode d’Euler


Pour Euler la fonction f ( x, y ) est estimée à xi et y(xi). La résolution se fait pas à pas selon
l’algorithme suivant :
Condition initiale x(1) = 0 et y(1) = y0
Fixation de la borne supérieure xf
Choix du pas x et détermination de la taille du vecteur y par : n = xf / x + 1
Pour i = 1 à n-1, faire :
x(i+1) = x(i)+x ; f = g(x(i)) – a*y(i); y(i+1) = y(i) + f *x;
Fin

1.2/ Méthode de Runge-Kutta d’Ordre 2


A la différence d’Euler, pour la Méthode de Runge-Kutta d’ordre 2, la fonction f ( x, y ) est
estimée au demi pas, soit à (xi + x/2) et y ( xi + x 2 ) (valeur estimée de y à (xi + x/2)).,
soit :

f ( x, y ) = f ( xi + x 2, y ( xi + x 2 ) )

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

Avec :
y ( xi + x 2 ) = y ( xi ) + f ( xi , yi ) * x 2

La résolution se fait pas à pas selon l’algorithme suivant :


Condition initiale x(1)=0 et y(1)=y0
Fixation de la borne supérieure xf
Choix du pas x et détermination de la taille du vecteur y par : n = xf / x + 1
Pour i = 2 à n-1, faire :
x(i+1/2) = x(i)+x/2; f (i) = g(x(i)) – a*y(i);
y ( i + 1 / 2 ) = y ( i ) + f ( i ) * x / 2 ;

x(i+1) = x(i)+x ; f ( i + 1 / 2 ) = g ( x ( i + 1 / 2 ) ) – a * y ( i + 1 / 2 ) ;

y(i) = y(i) + f(i+1/2) *x;


Fin

1.3/ Méthode de Runge Kutta d’ordre 4

Pour la Méthode de Runge-Kutta d’ordre 2, la fonction f ( x, y ) est estimée par intégration, au


sens de Simpson, de f(x,y) entre xi et xi + x, soit :
 f ( xi , y ( xi ) ) + 2 f ( xi + x 2, y ( xi + x 2 ) ) 
f ( x, y ) =   6
( )
 +2 f xi + x 2, y ( xi + x 2 ) + f ( xi + x, y ( xi + x ) ) 
 
Avec :
y ( xi + x 2 ) = y ( xi ) + f ( xi , yi ) * x 2

y ( xi + x 2 ) = y ( xi ) + f ( xi + x 2 , y ( xi + x 2 ) ) * x 2

(
y ( xi + x ) = y ( xi ) + f xi + x 2 , y ( xi + x 2) * x )
La résolution se fait pas à pas selon l’algorithme suivant :
Condition initiale x(1)=0 et y(1)=y0
Fixation de la borne supérieure xf
Choix du pas x et détermination de la taille du vecteur y par : n = xf / x + 1
Pour i = 2 à n-1, faire :
x ( i + 1 / 2 ) = x ( i ) + x / 2 ; f ( i ) = g ( x ( i ) ) – a * y ( i ) ;

y ( i + 1 / 2 ) = y ( i ) + f ( i ) * x / 2 ;

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

f1 ( i + 1 2 ) = g ( x ( i + 1 2 ) ) – a * y ( i + 1 2 ) ;
y ( i + 1 / 2 ) = y ( i ) + f1 ( i + 1 2 ) * x / 2

x ( i + 1) = x ( i ) + x ; f 2 ( i + 1 2 ) = g ( x ( i + 1 / 2 ) ) – a * y ( i + 1 / 2 ) ;

y ( i + 1) = y ( i ) + f 2 ( i + 1 2 ) * x ;
Fin

2 APPLICATION (TP 14)


Soit à résoudre l’équation différentielle :
2 y' − y = 0 avec y = f(t) et y(0)=1
1/ Solution analytique :

L’équation peut être réécrite sous la forme : dy 1


=
y 2
Equation dont la solution est donnée par :
y = y(0) exp(t 2) soit y = exp(t 2) sachant que : y(0) = 1.
L’application donne y(t=10s) = 148.4

2/ Solution Numérique :
L’équation peut être réécrite sous la forme :
y' = y/2 = f
L’algorithme de Runge-Kutta d’ordre 2, s’écrit :
 
yi +1 = yi + f  t 1 , yˆ 1  t
 i+ 2 i+ 2 
t t
Avec : yˆ 1 = yi + f (t i , yi ) et t 1 = ti +
i+ 2 i+ 2
2 2

3/ Sous matlab, le programme de résolution s’écrit :

% Runge-Kutta ordre 2
t=0:10; y(1)=1; dt=0.1; n=length(t);

for i=1:n-1,
ti12 = t(i)+dt/2; fi = y(i)/2; yi12 = y(i)+fi*dt/2;
fi12 = yi12/2; y(i+1)=y(i)+fi12*dt;

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

end

150

Sol. Numérique
Sol. Analytique
100
y

50

0
0 2 4 6 8 10
t

Commentaire : avec le pas choisi les 2 courbes sont confondues ;

1.4/ Problème avec conditions aux limites


Dans le cas où à défaut de condition initiale on donne une condition à la limite (concerne
généralement les équations d’ordre supérieur à 1) , la méthode recommandée est la méthode
de tir. A savoir :
1 On choisit une condition initiale et une erreur admissible ε.
2 On procède à l’intégration
3 On compare la condition initiale à la valeur de y à la limite
4 Si l’écart Observé est inférieur à ε on arrête autrement on reprend l’intégration avec un
nouvel estimé.

• La solution analytique est donnée par :


y = (1 + 2 x ) exp ( − x )

• Solution numérique :
En posant z = y’, le système à résoudre s’écrit :
z ' = −2 z − y
y' = z
Sous matlab la solution est donnée par :
[t, y] = ode23(‘fode2’, [0 10], [1 1] )
‘fode2’ étant la fonction décrivant le système à résoudre :

m.merzouk usdb 2012


Université de Blida 1 Département Energies Renouvelables
Master 1 Energies Renouvelables

Function dy = fode2(t,y)
dy = zeros(2,1); % on impose vecteur colonne
dy(1) =-−2*y(2) − y(1);
dy(2) = y(1)
end

La solution graphique est portée en figure ci-jointe.

1.4
Sol; analytique
Sol. Numérique
1.2

0.8
y

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
x

1.4. Problème avec conditions aux limites

m.merzouk usdb 2012

Vous aimerez peut-être aussi