Vous êtes sur la page 1sur 4

Université de Laarbi Tebessi, Tebessa

Faculté de Sciences et Technologie


Département Sciences et Technologie

Module : TP Méthodes Numériques


Enseignante : Khamssa Chouchane

TP 1 : Résolution d’équations non linéaires


Durée de TP: 3 semaines
But de TP :
Durant ce TP, nous allons mettre en œuvre les algorithmes des méthodes de
résolution des équations non linéaires étudiées pendant le cours : méthode de
bissection, méthode de points fixes et Newton-Raphson.

Rappel sur les différentes méthodes:


1. Méthode de bissection (méthode de dichotomie)
Le principe de la méthode de dichotomie, encore appelée méthode de bissection, est basé sur
le théorème de la valeur intermédiaire. La méthode est décrite comme suit : soit,
: [ܽ ܾ] −→ ܴ, une fonction continue sur l’intervalle [ܽ ܾ].
Si (ܽ)×݂(ܾ) < 0 −→ il existe donc au moins une racine de ݂(‫ )ݔ‬appartenant à l’intervalle
[ܽ ܾ].
On prend ܿ =(ܽ + ܾ)/2 la moitié de l’intervalle [ܽ ܾ] tel que :
1. Si (ܿ) = 0 −→ ܿ est la racine de (‫)ݔ‬.
2. Sinon, nous testons le signe de (ܽ) × (ܿ) (et de ݂(ܿ) × ݂(ܾ)).
3. Si (ܽ)×݂(ܿ) < 0 −→ la racine se trouve dans l’intervalle [ܽ ܿ] qui est la moitié de [ܽ ܾ].
4. Si (ܿ) × (ܾ) < 0 −→ la racine se trouve dans l’intervalle [ܿ ܾ] qui est la moitié de [ܽ ܾ].
Ce processus de division, par deux, de l’intervalle (à chaque itération on divise l’intervalle
par deux) de la fonction est réitéré jusqu’à la convergence pour la tolérance considérée. Ainsi,
pour la nième itération, on divise : [ܽ݊ ܾ݊] en [ܽ݊ ܿ݊] et [ܿ݊ ܾ݊], avec à chaque fois
ܿ݊ =(ܽ݊ + ܾ݊)/2

Exercice1
- L’équation X^3+2X-7=0 possède une racine dans l’intervalle [1;2]
- Ecrire un programme Matlab permettant de déterminez cette racine par la méthode de
dichotomie après avoir justifier son emploi. Sachant que epsilon =10-2
Solution

(La note sur 20)


% Methode de DICHOTOMIE

1 g=inline ( ‘X^3+2*X-7’) % declaration de la fonction f avec


2 a=1; % inline
3 b=2;
4 err=1; % une faux valeur pour declencher la boucle
5 xt=4; % pour calculer l’erreur on suppose que la racine
6 % est a=1
7 if f(a)*f(b)<0 % condition necessaire pour que f admet une
8 % racine dans [a,b]
9 nitermax=0; % initialiser la valeur du nombre
10 % d’iteration a zero.
11 while (nitermax<=30 & err>10^_2) % deux condition d’arret
12 % si nombre maximum d’iteration est atteint ou l’erreur
13 % est inferieur a epsilon 0.01
14 x=(a+b )/2 ; % dviviser l’intervalle [a b] sur 2
15 err=abs(xt-x) ; % calculer l’erreur entre deux valeurs
16 % successives
17 xt=x ; % recursivite du calcul
18 nitermax=nitermax+1; % incrementer le nombre d’iteration
19 % par un
20 if f(a)*f(x)<0 % test si l’intervalle [a x] contient
21 % la racine
22 b=x ; % si oui la valeur de b est change par x
23 else
24 a=x ; % si non la valeur de a est change par x
25 end
26 end
27 fprintf( 'la racine approchee est %f\n' , x ) % afficher
28 % la racine
29 else % changer l’intervalle
30 fprintf( 'pas de racine trouve dans l"intervalle\n')
31 end

Exercice 2 :
Appliquer la méthode de dichotomie, pour trouver la valeur approchée de la racine de f(x)
dans l’intervalle [1.5 2], sachant que epsilon = 10-6

f(x) = 2 sin(x) – x,
Solution

(La note sur 20)


1 a=1.5 ;

2 b=2 ;

3 c=(a+b)/2;

4 tol=1e-6;

5 iter=0;

6 while abs(2*sin(c)-c) > tol


7 if (2*sin(a)-a)*(2*sin(c)-c) <0

8 b=c;

9 end

10 if (2*sin(c)-c)*( 2*sin(b)-b)<0

11 a=c;

12 end

13 c=(a+b)/2;

14 iter=iter+1;

15 end

16 c

17 iter

Le programme sera souvegarder : Bissection.m.

En exécutant le programme sur la ligne de commande : >> Bissection

c = 1.8955

iter = 17

Exercice 3 : (Rappel sur le graphisme sous Matlab)


Ecrire le programme Matlab qui permet de tracer sur le même graphe les fonctions F1, F2 et
F3 sur l'intervalle [-1 1].

F1(x) = x * sin(1/x)

F2(x) = x^3

F3(x) = x^2 * (3*x) + 5

Avec comme titre 'Etude comparative des courbe


Solution

(La note sur 20)


1 clc;

2 clear;

3 % Cree les vecteur x

4 x=[1:0.01:1] 5

5 %Calculer F1(x),F2(x) et F3(x) 6 f1=x.∗sin(1./x)

6 % n’oubliez pas le point avant la division

7 f2=x.^3 8

8 f3=x.^2+3∗x+5

9 % Representer les trois courbes

10 plot(x,f1,'r')

11 hold on

12 plot(x,f2,'g')

13 plot(x,f3)

14 title('Etude comparative des courbes')

15 hold off

Figure 1 Représentation des courbes

Vous aimerez peut-être aussi