Vous êtes sur la page 1sur 5

Université de Bejaia, Département d’Hyraulique univ-bejaia.dz/a.

seghir
Méthodes Numériques – L3-OAH - 2014/2015 a-seghir.blogspot. om

1 Problème à valeurs aux limites


1.1 Différences finies centrées
On considère l’équation différentielle du second ordre suivante :

y ′′ (x ) = p (x )y ′ (x ) + q (x )y (x ) + r (x ) (1)
avec les conditions aux limites :

y (a ) = ya et y (b ) = yb

La discrétisation des dérivées se fait en utilisant deux pas. Nous avons :

y (xi + h ) = y (xi ) + h y ′ (xi ) + h 2 y ′′ (xi ) (2)


′ 2 ′′
y (xi − h ) = y (xi ) − h y (xi ) + h y (xi ) (3)

où :
y (xi ) = yi , y (xi + h ) = yi +1 , y (xi − h ) = yi −1
La somme des deux expressions donne

yi +1 − 2yi + yi −1
y ′′ (xi ) = yi′′ = (4)
h2
La dérivée d’ordre 1 est évaluée entre xi + h et xi − h
yi +1 − yi −1
yi′ = (5)
2h
En remplace maintenant dans l’équation 1 :

yi +1 − 2yi + yi −1 = h p (xi ) yi +1 − yi + h 2 q (xi )yi + h 2 r (xi )

Soit :   
− 1 + 21 h pi yi −1 + 2 + h 2 qi yi + 1
2 h pi − 1 yi +1 = −h 2 ri (6)
avec
pi = p (xi ), qi = q (xi ) et ri = r (xi )
Pour i = 1 :   
− 1 + 21 h p1 y0 + 2 + h 2 q1 y1 + 1
2 h p1 − 1 y2 = −h 2 r1
où y0 = y (x0 ) = y (a ) = ya est une donnée. L’équation devient :
 1
 
2 + h 2 q1 y1 + 2 h p1 − 1 y2 = −h 2 r1 + 1 + 21 h p1 y0 (7)
De même pour i = n, tenant compte de xn +1 = b ; yn +1 = yb comme valeur aux limites :
  
− 1 + 21 h pn yn −1 + 2 + h 2 q1 yn = −h 2 rn − 12 h pn − 1 yb (8)

Sous forme matricielle : 


[A] y = {B} (9)
avec

1/ 5
Université de Bejaia, Département d’Hyraulique univ-bejaia.dz/a.seghir
Méthodes Numériques – L3-OAH - 2014/2015 a-seghir.blogspot. om

 
2 + h 2 q1 −1 + 21 h p1 0 0
−1 − 1 h p2 2 + h 2 q2 −1 + 21 h p2 
 2 

 0 

[A] = 




 0 

1 2 1
 −1 − 2 h pn −1 2 + h qn −1 −1 + 2 h pn −1 
0 0 −1 − 12 h pn 2 + h 2 qn
 
−h 2 r1 + 1 + 21 h p1 ya 
  
 y1  
−h 2 r2
   


 y2  







 .. ..
y = .  ; {B} .
  
 yn −1 

 



 −h 2 rn −1   

−h rn + 1 − 21 h pn yb
   2 
yn

1.1.1 Résolution du système d’équations

La matrice A du système d’équations algébriques précédent est une matrice tridiagonale. La so-
lution peut être obtenue en réduisant les équations l’une après l’autre.
On note par L, D et S les diagonales inférieure, centrale et supérieure de la matrice A, respective-
ment. On a
L i = A i +1,i ; i = 1, n − 1
Di = A i ,i ; i = 1, n
Si = A i −1,i ; i = 2, n
Les n equations s’écrivent comme suit :

D1 y1 + S2 y2 = B1
······ ··· ···
L i −1 yi −1 + Di yi + Si +1 yi +1 = Bi
······ ··· ···
L n −1 yn −1 + Dn yn = Bn

La première équation permet de déduire y1 du système :

y1 = B1 /D1 − (S2 /D1 )y2

En remplaçant dans la deuxième équation :



L 1 B1 /D1 − (S2 /D1 )y2 + D2 y2 + S3 y3 = B2

elle se met sous la forme suivante :


D2∗ y2 + S3 y3 = B2∗
avec
L1 L 1 B1
D2∗ = D2 − S2 ; B2∗ = B2 −
D1 D1

2/ 5
Université de Bejaia, Département d’Hyraulique univ-bejaia.dz/a.seghir
Méthodes Numériques – L3-OAH - 2014/2015 a-seghir.blogspot. om

Cette équation permet à son tour de déduire y2 : y2 = B2∗ /D2∗ − (S3 /D2∗ )y3 et de le remplacer dans
la troisième équation qui se met sous la même forme que celle d’avant :

L2 B2∗
D3∗ y3 + S4 y4 = B3∗ ; D3∗ = D3 − S3 , B ∗
= B3 − L 2 ∗
D2∗ 3
D2

De cette manière on écrit la i ème equation :

Di∗ yi + Si +1 yi +1 = Bi∗

d’où on calcul yi par :


Bi∗ Si +1
yi = − yi +1 (10)
Di∗ Di∗
avec
L i −1 Bi∗−1
Di∗ = Di − Si ; Bi∗ = Bi − L i −1 (11)
Di∗−1 Di∗−1
La dernière équation se réduit à :

L n −1 Bn∗ −1
Dn∗ yn = Bn∗ ; Dn∗ = Dn − Sn , B ∗
= Bn − L n −1
Dn∗−1 n
Dn∗−1

Ce qui permet de calculer yn , puis yn −1 , yn −2 , yn −3 , ..., y2 et y1 en utilisant l’expression de récur-


rence (10).

1.2 Exemple
Comme exemple, on considère l’équation y ′′ = x − y avec les conditions y (0) = 0 et y (5) = 6. La
solution exacte est ye = x + sin(x )/ sin(5) ≈ x sin(x ). Les fonctions de x dans l’équation 1 sont
dans ce cas :
p (x ) = 0 , q (x ) = −1 , r (x ) = x
L’intervalle [0, 5] est divisé en 10 segments de taille h = 0.5 chacun. Les coordonnées des points
sont x0 = 0, x1 = 0.5, x2 = 1 · · · , x9 = 5.5, x10 = 5
Les composantes de la matrice A prennent les valeurs suivantes :

Ai i = 2 + 0.52 × (−1) = 1.75


A i i +1 = −1 + 0.5 × 0.5 × 0 = −1
A i +1i = −1 − 0.5 × 0.5 × 0 = −1

Les composantes du vecteur B prennent les valeurs :

B1 = −0.52 × 0.5 + (1 + 0.5 × 0) × 0 = −0.125


B2 = −0.52 × 1 = −0.25,
B3 = −0.52 × 1.5 = −0.375
··· ··· ······
B9 = −0.52 × 4.5 + (1 − 0.5 × 0) × 6 = 4.875

3/ 5
Université de Bejaia, Département d’Hyraulique univ-bejaia.dz/a.seghir
Méthodes Numériques – L3-OAH - 2014/2015 a-seghir.blogspot. om

Le système algébrique est :


 
1.75 −1 0 ··· ··· 0   
 y1  
 ..   
  −0.125
 −1 1.75 −1 0 .   y 2   
  
 −0.25 

..   .. 
    
  
 0 −1 1.75 −1 0 . 
 . 




 −0.375


 . ..     
 . .
   −0.5 
 . −1 1.75 −1 0
    

= −0.625

 −1 1.75 −1 0 

−0.75 
 
 
 
 −1 1.75 −1 0 

 
 
 

 
 .
.

 
 −0.875

 −1 1.75 −1 0   . 
 
 

−1
    
 . .  
y
  
 .. ..  8
  
−1 1.75 −1  
   
4.875
  
y9
0 ··· ··· 0 −1 1.75

1.2.1 Script Matlab

1 % y "( x ) = p( x) y '( x) + q(x )y( x) + r(x )


2 % Exemple : y "(x ) = x -y( x)
3 % CAL : y (0) =0 et y (5) =6
4 a =0;
5 b =5
6 ya =0;
7 yb =6;
8
9 n = 9;
10 h = (b - a) /( n +1) ;
11
12 p = (x ) 0* x;
13 q = (x ) -1+0* x ;
14 r = (x ) x ;
15
16 x = [1: n ℄* h;
17 L = -1- h /2* p( x (2: n ));
18 D = 2+( h ^2) * q( x);
19 S = -1+(h /2) * p( x (1: n -1) ) ;
20
21 B = -h ^2* r (x ') ;
22 B (1) = B (1) +(1+( h /2) * p(x (1) )) * ya ;
23 B (n) = B(n ) +(1 -( h /2) * p(x (n) )) * yb ;
24
25 % Solution du systeme tridiagonal
26 u = 0* D ;
27 S =[0 S ℄;
28 for i =2: n % equation (11)
29 D (i) = D(i ) - L (i -1) * S(i )/ D(i -1) ;
30 B (i) = B(i ) - L (i -1) * B(i -1) /D (i -1) ;
31 end
32 u (n) = B(n )/D (n );
33 for i=n -1: -1:1
34 u(i ) = B( i) /D( i) - S (i +1) /D( i) * u (i +1) ;
35 end
36 u = [ ya u yb ℄; % ajout des CALs
37 x = [a x b ℄;
38 ue = x+ sin (x) / sin (5) ;
39 plot (x , ue , 'r ' , x ,u , 'o ')

4/ 5
Université de Bejaia, Département d’Hyraulique univ-bejaia.dz/a.seghir
Méthodes Numériques – L3-OAH - 2014/2015 a-seghir.blogspot. om

x ynumérique yexacte
6 0.5 -0.0137 0.0000
y ′′ = x − y avec y(0) = 0 et y(5) = 6
5 1.0 0.1010 0.1225
Exacte 1.5 0.4404 0.4598
4 Numériques
2.0 1.0448 1.0518
y(x)

3 2.5 1.8879 1.8759


2 3.0 2.8841 2.8528
3.5 3.9093 3.8658
1
4.0 4.8321 4.7892
0 4.5 5.5469 5.5194
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

5/ 5

Vous aimerez peut-être aussi