Vous êtes sur la page 1sur 5

Université A.

Mira de Béjaia Année 2023/2024


Faculté des Sciences Exactes 2ème Licence MI
Méthodes Numériques
TP3- RESOLUTION Fx  0
EXERCICE N°1- Méthode de Dichotomie :
Soit fonction F(x)  5  x e x  5 définie sur R .
1- Ecrire une fonction sous matlab, qui reçoit comme argument l’abscisse x et qui retourne la
valeur F x  .
2- Utiliser la fonction « roots » pour trouver la racine de cette fonction.
3- Un programme scripte matlab permettra de calculer la racine approchée de F(x)  0 en
utilisant la méthode de dichotomie
On donne l’intervalle initial I 0  a0 , b 0   1, 6 , Le nombre d’itération maximum nitermax  100 ,
La valeur de l’erreur absolue ek  x k  x k 1 , k  1 où x k est la solution approchée à l’itération k .
 Ecrire une programme scripte, qui fait appel à la fonction, pour construire les
suites an nN , bn nN , xn nN et en nN tel que :
x0  a0  b0  2 , xi  ai  bi  2
Pour i  1 a i  xi 1 si F ai .F xi   0 où bi  xi 1 si F ai .F xi   0 et ei  xi  xi 1 .
 Pour tenir compte du nombre d’itérations maximum nitermax  100 , introduire dans le
programme la commande « while ».
4- Tracer sur un graphe l’erreur ei  xi  xi 1 en fonction de l’itération i . Ajouter sur ce graphe le
titre du graphe et la légende.

EXERCICE N°2-Méthode du point fixe


On considère la fonction F(x)  e x  3 x  2 . Cette fonction admet une racine unique sur
l’intervalle I  a, b  0, 1 .
function y=fpf(x)
y=exp(x)+3*sqrt(x)-2
end

1- Calculer numériquement F(0) et F(1)


>> fpf(0)= -1

>> fpf(1)= 3.7183

2- Tracer le graphe de F(x) en fonction de x pour 0  x  1 .

1
Université A. Mira de Béjaia Année 2023/2024
Faculté des Sciences Exactes 2ème Licence MI
Méthodes Numériques
3- On veut calculer la racine de F(x) par une méthode de point fixe convenable. On
transforme F(x) sous forme x  g x  où g  x   2  e 
x 2
9.
4- Tracer sur le même graphe les fonctions Y1 x  x et Y2  x   2  e x  9 pour 0  x  1 .
2

function y1=fpf1(x)
y1=x
end
%

function y2=fpf2(x)
y2=(2-exp(x))^2/9
end

>> fh1 = @fpf1

>> fh2 = @fpf2

>> fplot(fh1,[0 1])

>> hold on

>> fplot(fh2,[0 1])

2
Université A. Mira de Béjaia Année 2023/2024
Faculté des Sciences Exactes 2ème Licence MI
Méthodes Numériques

5- La dérivée de la fonction g x  
2  e 
x 2
 
est donnée par g ' x   2 e x  2 e x 9 , tracer le
9
graphe de g' x  en fonction de x pour 0  x  1 et déduire de ce graphe k max g ' x 
0 x 1
function y3=fpf3(x)
y3=2*(exp(x)-2)*exp(x)/9
end
%

k n 1
6- En utilisant la formule x n 1    x1  x0 , calculer le nombre d’itération pour avoir la
1 k
solution approchée x n 1 avec une précision   10 6 . On donne x 0  0 ,

x1  g  x0   2  e x0 
2
9 . Il faut poser (k n 1 1  k ) x1  x0   .
% Programme pour calculer le nombre de pas n pour avoir
%la solution avec une précision de 10exp(-6)
k=0.4339
x0=0.0
x1=(2-exp(x0))^2/9
eps=1*exp(-6);
n=log(eps*(1-k)/abs(x1-x0))/log(k)-1
N=round(n)+1
%
k = 0.4339

x0 = 0

x1 = 0.1111

n = 4.2360

N= 5

3
Université A. Mira de Béjaia Année 2023/2024
Faculté des Sciences Exactes 2ème Licence MI
Méthodes Numériques
7- Ecrire un programme scripte qui calcule la solution approchée en utilisant l’algorithme du
Newton suivant :
 x0  0


    

2  e xi 1
2
i  1,2,.....
 i
x g x i 1
9
Introduire un teste d’arrêt pour tenir compte de la précision donnée à la question 6.

function [zero,res,niter,inc,nbr]=newton(x0,tol,nmax)
x = x0;
niter = 0;
nbr =[];
err = [];
diff = tol*10;
while abs(diff) >= tol & niter <= nmax
niter = niter + 1;
fx = (2-exp(x))^2/9;
dfx = 2*(exp(x)-2)*exp(x)/9;
diff = - fx/dfx;
x = x + diff;
nbr(end+1) = niter
err(end+1) = abs(diff);
end
if niter > nmax+1
fprintf(['la methode est arrete avant convergence',...
' le nombre max d iterations est atteint\n']);
end
zero = x;
res = abs((2-exp(zero))^2/9);
return

Execution:
>> [zero,res,niter,inc]=newton1(0,exp(-6),10)

zero = 0.6919

res = 6.8478e-007

niter = 8

inc = 0.5000 0.1065 0.0452 0.0211 0.0102 0.0050 0.0025 0.0012

4
Université A. Mira de Béjaia Année 2023/2024
Faculté des Sciences Exactes 2ème Licence MI
Méthodes Numériques
EXERCICE N°3- A faire comme Compte –rendu par l’étudiant
En se basant sur les deux exercices précédents (traités en séances de travaux pratiques),
l’étudiant doit faire un compte rendu sur la méthode de Newton. Ce compte rendu sera remis
avant la prochaine série de T.P. Il sera corrigé par le chargé de T.P.
Enoncé :

Soit la fonction F x    sin x   
x 3
dont on veut calculer les racines par la méthode
2 6 2
de Newton
1- Ecrire un programme Matlab qui trace le graphe de la fonction F en fonction de x pour

  x   . Utiliser un pas x  0.1 . Ecrire, sur le compte rendu, le programme utilisé
2
pour tracer le graphe et le graphe avec la légende appropriée (Titre des axes et titre du
graphe)
 
2- On veut utiliser la méthode de Newton pour calculer la racine située entre  ,   avec une
2 
précision   10 . L’algorithme de newton est donné par :
10

 x0 donnée

 x  x  F x k  k  1,2,....
 k 1 F ' xk 
k

Où F' x  est la dérivée première de F x  par rapport à x . On donne x0   . On note l’erreur


absolue entre deux itérations successives ek  x k  x k 1 , k  1,2,....
3- Ecrire un programme Matlab (A reporter sur le compte rendu) qui permet de calculer la
racine approchée en utilisant l’algorithme de Newton donnée ci-dessus. Ce programme doit
comporter :
 Le calcule de F  x k  et F '  x k 
 Un vecteur qui récupère les x k successives
 Un test pour arrêter l’exécution lorsque x k  x k 1  10 10 .
 Un fichier permettant de récupérer l’erreur absolue ek  x k  x k 1 en fonction de
l’itération k. (A écrire sur le compte rendu sous forme d’un tableau)
Itération k ek  x k  x k 1

 Ecrire un Programme qui permet de tracer ek  x k  x k 1 en fonction de l’itération k avec la


légende correspondante (Titre des axes, titre du graphe)
4- Ecrire une conclusion.

Vous aimerez peut-être aussi