Vous êtes sur la page 1sur 5

univ-bejaia.dz/a.

seghir
a-seghir.blogspot. om

Universit de Bejaia, Dpartement dHyraulique


Mthodes Numriques L3-OAH - 2014/2015

1 Problme valeurs aux limites


1.1

Diffrences finies centres

On considre lquation diffrentielle 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

y (b ) = yb

et

La discrtisation des drives se fait en utilisant deux pas. Nous avons :


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

y (xi h ) = y (xi ) h y (xi ) + h y (xi )

(2)
(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
h2

y (xi ) = yi =

(4)

La drive dordre 1 est value entre xi + h et xi h


yi =

yi +1 yi 1
2h

(5)

En remplace maintenant dans lquation 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 donne. Lquation devient :



2 + h 2 q1 y1 +

1
2 h p1 1


y2 = h 2 r1 + 1 + 21 h p1 y0

De mme 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

(7)

(8)

Sous forme matricielle :



[A] y = {B}

(9)

avec
1/ 5

univ-bejaia.dz/a.seghir
a-seghir.blogspot. om

Universit de Bejaia, Dpartement dHyraulique


Mthodes Numriques L3-OAH - 2014/2015

2 + h 2 q1
1 1 h p2
2

[A] =

1 + 21 h p1
2 + h 2 q2

y1

y2


..
y =
.

yn 1

yn

0
1 + 21 h p2

1
1
2
1 2 h pn 1 2 + h qn 1 1 + 2 h pn 1
0
1 12 h pn
2 + h 2 qn


h 2 r1 + 1 + 21 h p1 ya

h 2 r2

..
{B}
.

h 2 rn 1 

2
h rn + 1 21 h pn yb

1.1.1 Rsolution du systme dquations


La matrice A du systme dquations algbriques prcdent est une matrice tridiagonale. La solution peut tre obtenue en rduisant les quations lune aprs lautre.
On note par L, D et S les diagonales infrieure, centrale et suprieure de la matrice A, respectivement. 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 scrivent 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 premire quation permet de dduire y1 du systme :


y1 = B1 /D1 (S2 /D1 )y2
En remplaant dans la deuxime 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
D2 = D2

L1
S2
D1

B2 = B2

L 1 B1
D1

2/ 5

univ-bejaia.dz/a.seghir
a-seghir.blogspot. om

Universit de Bejaia, Dpartement dHyraulique


Mthodes Numriques L3-OAH - 2014/2015

Cette quation permet son tour de dduire y2 : y2 = B2 /D2 (S3 /D2 )y3 et de le remplacer dans
la troisime quation qui se met sous la mme forme que celle davant :
D3 y3 + S4 y4 = B3

D3 = D3

B2
L2

S
,
B
=
B

L
3
3
2
3
D2
D2

De cette manire on crit la i me equation :


Di yi + Si +1 yi +1 = Bi
do on calcul yi par :
yi =
avec
Di = Di

Bi
Di

L i 1
Si
Di1

Si +1
yi +1
Di
Bi = Bi L i 1

(10)
Bi1
Di1

(11)

La dernire quation se rduit :


Dn yn = Bn

Dn = Dn

Bn 1
L n 1

S
,
B
=
B

L
n
n
n
1
n
Dn1
Dn1

Ce qui permet de calculer yn , puis yn 1 , yn 2 , yn 3 , ..., y2 et y1 en utilisant lexpression de rcurrence (10).

1.2

Exemple

Comme exemple, on considre lquation 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 lquation 1 sont
dans ce cas :
p (x ) = 0 , q (x ) = 1 , r (x ) = x
Lintervalle [0, 5] est divis en 10 segments de taille h = 0.5 chacun. Les coordonnes 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, Dpartement dHyraulique


Mthodes Numriques L3-OAH - 2014/2015

univ-bejaia.dz/a.seghir
a-seghir.blogspot. om

Le systme algbrique est :

1.75 1
0

y1

..
0.125

1 1.75 1
0
.
y 2

0.25

..
..

1 1.75 1
0
.
0.375
.
0

..
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
2
3
4
5
6
7
8
9
10
11
12
13
14

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


% Exemple : y "(x ) = x -y( x)
% CAL : y (0) =0 et y (5) =6
a =0;
b =5
ya =0;
yb =6;
n = 9;
h = (b - a) /( n +1) ;
p = (x ) 0* x;
q = (x ) -1+0* x ;
r = (x ) x ;

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

x
L
D
S

= [1: n * h;
= -1- h /2* p( x (2: n ));
= 2+( h ^2) * q( x);
= -1+(h /2) * p( x (1: n -1) ) ;

B = -h ^2* r (x ') ;
B (1) = B (1) +(1+( h /2) * p(x (1) )) * ya ;
B (n) = B(n ) +(1 -( h /2) * p(x (n) )) * yb ;
% Solution du systeme tridiagonal
u = 0* D ;
S =[0 S ;
for i =2: n % equation (11)
D (i) = D(i ) - L (i -1) * S(i )/ D(i -1) ;
B (i) = B(i ) - L (i -1) * B(i -1) /D (i -1) ;
end
u (n) = B(n )/D (n );
for i=n -1: -1:1
u(i ) = B( i) /D( i) - S (i +1) /D( i) * u (i +1) ;
end
u = [ ya u yb ; % ajout des CALs
x = [a x b ;
ue = x+ sin (x) / sin (5) ;
plot (x , ue , 'r ' , x ,u , 'o ')

4/ 5

univ-bejaia.dz/a.seghir
a-seghir.blogspot. om

Universit de Bejaia, Dpartement dHyraulique


Mthodes Numriques L3-OAH - 2014/2015

x
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5

6
y = x y avec y(0) = 0 et y(5) = 6

Exacte
Numriques

y(x)

4
3
2
1
0
0

0.5

1.5

2.5

3.5

4.5

ynumrique
-0.0137
0.1010
0.4404
1.0448
1.8879
2.8841
3.9093
4.8321
5.5469

yexacte
0.0000
0.1225
0.4598
1.0518
1.8759
2.8528
3.8658
4.7892
5.5194

5/ 5