Vous êtes sur la page 1sur 11

TP3 & TP4:

Applications des méthodes numériques avec MATLAB

1. Introduction
L’analyse numérique est utilisée pour trouver des approximations à des problèmes difficiles
tels que la résolution des équations non linéaires, l'intégration impliquant des expressions
complexes. Elle est appliquée à une grande variété de disciplines telles que tous les domaines
de l'ingénierie, de l'informatique, l'éducation, la géologie, la météorologie, et bien d'autres.
Il y a des années, les ordinateurs à haute vitesse n’existaient pas, par conséquent, le calcul
manuel exigeait beaucoup de temps et de travail laborieux. Mais maintenant que les
ordinateurs sont devenus indispensables pour les travaux de recherche dans la science,
l'ingénierie et d'autres domaines, l'analyse numérique est devenue une tâche beaucoup plus
facile et plus agréable.

2. Résolution de systèmes linéaires par le logiciel MATLAB.


2. 1. Méthode du pivot de Gauss (méthode directe)

La méthode du pivot de Gauss est une méthode directe de résolution de système linéaire qui
permet de transformer un système en un autre système équivalent échelonné. On résout le
système ainsi obtenu à l’aide d’un algorithme de remontée.

Principe

On cherche à résoudre le système suivant de n équations à n inconnues x1,x2,…,xn :

a11 x1 + a12 x2+ …+ a1n xn = b1

a21 x1 + a22 x2+ …+ a2n xn = b2


.
.
.
an1 x1 + an2 x1+ …+ ann xn = bn

39
Du point de vue matriciel, on a Ax=b Avec

 a 11 a 12 ... a 1n   x1   b1 
a ... a 2 n   x 2   b 2 
 21 a 22 =
 ... ... ... ...   ...   ... 
    
a n 1 a n 2 ... a nn   x n  b n 

Les données du système linéaire sont :

- les coefficients réels ou complexes aij pour i=1,…,n et j=1,…,p (n et p sont deux entiers
connus),

- le second membre du système constitué par les nombres réels ou complexes bi (i=1,…,n),

et Li (i=1,…,n) désigne la iième ligne du système (S).

Les inconnues à déterminer sont les xj (j=1,…,p).

Le système est dit carré lorsque n=p. C’est le cas où il y a autant d’équations que
d’inconnues.

On dira que le système est homogène lorsque le second membre est nul (bi=0, i=1,…,n).
On peut remarquer qu’un système linéaire homogène admet au moins la solution nulle
xi=0, ∀i=1,…,n (qui n’est pas nécessairement la seule).

Lorsque tous les coefficients « sous la diagonale » d’un système linéaire sont nuls, i.e. :
i > j ⇒ aij = 0

On dit que le système est échelonné.


a- la méthode du pivot de Gauss : Triangularisation

Soit U la matrice échelonnée du système, on a alors

b- Remontée et résolution

À présent la matrice A du système linéaire est échelonnée, on doit alors résoudre le système
triangulaire :

Ux = b(n)

Puisque b(n) rappelons le, est le second membre échelonné, il a subi les mêmes opérations
que la matrice échelonnée U.

On utilise alors un algorithme de remontée pour le système Ux = b(n) :


c- Exemple de résolution

Considérons le système suivant :


x' - 2x. - 2x/ 2 L'
,x' - 3x.  2x/ 1 L. 1
3x' - 5x. - 8x/ 8 L/

x'
Avec
1 2 2 2
x
A 1 3 2 ,x  . ,b 1
3 5 8 x/ 8

Première étape du pivot de Gauss pour éliminer les variables x1 dans les lignes L2et L3 :

x 1 + 2x 2 + 2x 3 = 2 L1

 x2 − 4x 3 = − 3 L 2 ← L 2 − L1
 −x 2 + 2x 3 = 2 L 3 ← L 3 − 3L1

Seconde étape du pivot de Gauss pour éliminer les variables x2 dans la ligne L3 :

x 1 + 2x 2 + 2x 3 = 2 L1

 x2 − 4x 3 = −3 L2
 − 2x 3 = −1 L3 ← L 3 + L 2

En remontant le système, on obtient aisément la solution x du système :

3
x  1
1/2
clear all
close all
taille=input('Taille de la matrice : ');
for t = 1:taille
for p = 1:taille
str=sprintf('Entrer l''élément (%d,%d) de la matrice A : ',t,p);
a(t,p) = input(str);
end
end

for t = 1:taille
for p = 1:taille
str=sprintf('Entrer l''élément (%d,%d) de la matrice B : ',t,p);
b(t,p) = input(str);
end
end
disp(a)
disp(b)
A=[a,b]
n=size(A,1)
for k=1:n-1
for i=k+1:n
w=A(i,k)/A(k,k)
for j=k:n+1
A(i,j)=A(i,j)-w*A(k,j)
end
end
end
A
for i=n:-1:1
s=0;
for j=i+1:n
s=s+A(i,j)*x(j);
end
x(i)=(A(i,n+1)-s)/A(i,i)
end
x

Code MATLAB implémentant la méthode de Gauss


d. Travail demandé
Ecrire un programme Matlab qui permet de résoudre les systèmes d’équations suivantes :

1 0 0  3
   
a) a = 0 2 0 et b = 6
0 0 3 5

1 2 4  3
   
b) a = 0 2 3 et b = 6
0 0 3 5

1 0 0 3
   
c) a = 2 2 0 et b = 6
3 − 1 3 5

1 2 − 1  3
 4  et b = 6
d) a = 2 2
3 − 1 3  5

12 −2 3 18
= x 1 10 2 y et = x16y
3 1 15 52
e)

3 4 −2 2 2
4 9 −3 5
=z { et =z8{
−2 −3 7 6 10
1 4 6 7 2
f)
3. Résolution d’équations non linéaires (Méthode de Newton-Raphson)
3.1. La méthode de Newton-Raphson
La méthode de Newton-Raphson consiste à trouver la valeur x qui annulera la fonction f(x).

En analyse numérique, la méthode de Newton, également connue sous le nom de méthode


Newton – Raphson, du nom d'Isaac Newton et Joseph Raphson. C’est un algorithme de recherche de
racines qui produit successivement de meilleures approximations aux racines (ou zéros) d'une fonction
à valeur réelle.
Comme hypothèse initiale, cette méthode ne nécessite qu'un seul point de départ approprié
x0. À (x0, f (x0)) une tangente à f (x) = 0 est dessinée (voir figure 3.3). L'équation de cette tangente
est donnée par l’équation.

= \ X ( Š )( − Š) + \(xŠ ) (3.3)

Le point d'intersection, de cette tangente avec l’axe des abscisses (y = 0) est considéré
comme la prochaine approximation de la racine de f (x) = 0. Donc, en substituant y = 0 dans l'équation
tangente, nous obtenons :

= − Ÿ¡ (…
Ÿ(… )
Š )

Si • • < „ („ V IZ TCé†FVFEZ EZZé ), nous avons une racine approximative acceptable


…] M …]qJ
…]qJ

de f (x) = 0, sinon nous remplaçons Š par , et dessinons une tangente à la fonction f (x) = 0 au
point ( , \( )) et considérons son intersection, avec l'axe des x comme une approximation
améliorée de la racine de f (x) = 0.

Si • • > „ , nous itérons le processus ci-dessus jusqu'à ce que les critères de convergence
…] M …]qJ
…]qJ

soient satisfaits. Cette description géométrique de la méthode peut être clairement visualisée dans la
figure ci-dessous (figure 3.3):
Figure 3.3: Principe de la méthode de Newton Raphson

Le choix de la solution initiale a une grande importance lorsqu’on calcule la solution d’une
équation par la méthode de Newton.
Les différentes étapes impliquées dans le calcul de la racine de f (x) = 0 par la méthode
Newton Raphson sont décrites dans l'algorithme ci-dessous.

3.2. Algorithme:

1. Entrer la formule de f.
2. Entrer la formule de sa dérivée.
3. Donner une solution initiale x0 qui doit être proche de la solution recherchée. Dans cette étape
on peut tracer la courbe de f pour donner une estimation de la solution initiale x0.
¥ ¢£
4. Calculer les termes ¢£^¤ ¢ £ K ¥¡
¢£
5. Répéter la 4eme étape, jusqu’à la stabilisation du processus avec la précision demandée „ qui
…] M …]qJ
est appelée par ‘test d’arrêt’• • } „.
…]qJ

Cette méthode peut être dérivée directement par le développement de Taylor au voisinage de
la racine r. L'approximation de départ x0 de la fonction f(x)=0 doit être correctement choisie pour que
l'approximation de la série de Taylor du premier ordre de f(x0+h), au voisinage de x0 mène à une
meilleure approximation de xi c’est-à-dire :
§d
\ Š ¦ \ Š ¦\ X Š \ XX Š ⋯ 0

¦ ≪ 1, negligeant ¦ \ Š ¦\ X Š 0
Ÿ(… )
i.e ℎ = − , avec ℎ = − Š,
Ÿ¡ (… )
donc :

Ÿ(… )
= Š −
Ÿ¡ (… )

Calculant les approximations , `, … , … etc en utilisant la formule suivante :

= −
Ÿ(…] )
^ Ÿ ¡ (…] )

Exemple résolu :
Donner une valeur approchée de l’équation suivante:
`
−3 −5= 0, ∈[2,3], avec „ = 10M`

Solution :
On pose : \( ) = ` − 3 − 5
\(2) = −3
\(3) = 16 Š =2

\ X( ) = 3 − 3
On a :

Ÿ(… )
^ = − Ÿ¡ (…] )
]

n 0 1 2 3 4
2 2.333 2.2805 2.279 2.2790

Ž Ž
M
-4
0.1665 0.0225 6.5775.10 0
M

Tableau 3.3 : Valeurs des solutions et test d’arrêt pour la fonction f(x).

D’après le tableau (3.3), on remarque que la 4ème itération (n=3) répond à la précision
demandée.
.
Exemple :
On se propose d’appliquer cette méthode pour la recherche des racines de la fonction non
linéaire suivante :
f(x)=ex -2cos(x)
Dans un premier temps, on se propose de tracer la courbe représentative de cette fonction en
utilisant le programme ci-dessous ‘NewtonRaphson.m’:

% Etude de la fonction :
% f(x)=exp(x)-2.cos(x)
x=-1:0.1:1;
f=exp(x)-2*cos(x);
plot(x,f); grid on;
title('Fonction : f(x)=exp(x)-2.cos(x)');

Après exécution du programme, on obtient la courbe sur la figure ci-après. D’après cette
courbe, il est judicieux de choisir un x0= 0 ,5 ; car f (0 ,5) est proche de zéro pour avoir une
convergence rapide. La fonction dérivée f’(x) a pour expression : f’(x) =ex+2 sin (x).

Figure III.1 : Localisation de la valeur x0 où f(x0)≅ 0


Pour chercher la solution de f(x), on peut rajouter au programme précédent
‘NewtonRaphson.m’ quelques lignes :

% Etude de la fonction :
% f(x)=exp(x)-2.cos(x)
clf;
x=-1:0.1:1;
f=exp(x)-2*cos(x);
figure(1);
plot(x,f); grid on;
title('Fonction : f(x)=exp(x)-2.cos(x)');
clear all;
clc;
x(1)=input('Donner la valeur initiale x(1): \n');
e=1e-10;
n=5000;
for i=2:n
f=exp(x(i-1))-2*cos(x(i-1));
diff=exp(x(i-1))+2*sin(x(i-1));
x(i)=x(i-1)-f/diff;
if abs(x(i)-x(i-1))<=e
xp=x(i);
fprintf('xp=%f\n',x(i));
break;
end
end
j=1:i;
figure(2);
plot(j,x(j),'*r',j,x(j));
xlabel('Nombre d''itérations');
title('Convergence de la solution : Méth. de Newt.-Raph.');
disp('Les valeurs successives de x(i) sont :');
x'

Code MATLAB implémentant la méthode NewtonRaphson

3.3 Travail demandé:

Résoudre les équations suivantes par la méthode de Newton Raphson:


`
−3 −5=0, ∈[2,3]

†EV − …
= 0, ∈ [0,1]

2( − 3) = GEŒ Š , ∈ [3,4]

Vous aimerez peut-être aussi