You are on page 1of 9

UE335 MATLAB

Correction TD semaine 3
(noté sur 20 points)

Exercice 1 : (/7 points)
Soit la fonction f(x)=x3-9 ; nous désirons déterminer la solution de l'équation f(x) = 0 pour
x>0.
1. Déterminer l'expression de la dérivée de f(x) (/1 point)
La dérivé de f(x) est : f’(x)=3x²
2. En vous aidant du cours, implémenter sous Matlab, l'algorithme de Newton Raphson
en 1D, afin de résoudre f(x)=0 (/3 points)
La relation de récurrence de l’algorithme de Newton Raphson est : xk+1 = xk – f(xk)/f’(xk)
D’où le script matlab :
% methode de newton raphson
clear all;
close all;
figure(1);clf;
x = -20:0.1:20;
y = x.^3-9;
plot(x,y);
grid;
% f(x) = x^3-9
% f'(x) = 3*x^2
critere = 1;
seuil = 0.00001;
xprec = 12
tampon_critere = [critere];
tampon_x = [xprec];

1

xprec = xsuiv.08. Exécutez votre script et donner la solution de f(x)=0 (copie d'écran des figures tracées) (/2point) La figure suivante représente la valeur xk au cours des itérations. ylabel('valeur critère d''arret'). en effet en calculant 2. ylabel('valeur xk'). qui correspond à la solution de l’équation x3-9=0.083=8.'ro-'). grid. tampon_x = [tampon_x xprec].clf. plot(tampon_critere.9989 2 . Le seuil d'arrêt sera pris égal à 0. 3. Donner une copie d'écran de votre script matlab Voir ci-dessus 5. end. tampon_critere = [tampon_critere critere]. figure(3).'ro-').clf. et le point de départ x=12 Voir ci-dessus 4. plot(tampon_x. figure(2). xlabel('numéro d''iteration'). xlabel('numéro d''iteration'). grid.(xprec^3-9)/(3*xprec^2) critere =abs(xsuiv-xprec).00001.while (critere > seuil) xsuiv = xprec . nous voyons que la valeur de xk converge vers la valeur égale à 2.

nous voyons que le critère d’arrêt devient inférieur au seuil de 0.La figure suivante représente la valeur du critère d’arrêt en fonction du numéro d’itération.00001 après 10 itérations : 3 .

y) du récepteur (/2 points) 3. l'unité de distance est le mètre) 1. Le récepteur R de coordonnées inconnues (x.0m).y) du récepteur (/1 point) Distance entre R et E1 : Distance entre R et E2 : Distance entre R et E3 : 2. Donner les 3 expressions des 3 distances en fonction des coordonnées (x.6. Donner les expressions des fonctions f et g. Exercice 2 : (/13 points) Nous considérons un système de radionavigation composé de 3 émetteurs de coordonnées connues : E1 (0m. Le récepteur mesure : d1=580m d2=860m d3=590m. reçoit les signaux provenant des 3 émetteurs et est capable de déterminer les 3 distances suivantes : d1 (distance entre E1 et R).y) (/4 points) 4 .y). d2 (distance entre E2 et R) et d3 (distance entre E3 et R). des fonctions f(x.0m). Quelles sont les coordonnées du récepteur ? (dans les questions suivantes. Indiquer le nombre d'itération parcouru par l'algorithme (/1 point) Le nombre d’itération parcouru par l’algorithme est de 10 itérations.y)=d1-d3 en fonction des coordonnées (x.1000m) et E3 (1000m.y) et g(x. étant les 2 différences de distances : f(x.y)=d1-d2 et g(x. E2 (0m. Donner les expressions des dérivées partielles par rapport à x et y.

estim_g. err_g = (d1 . vect = inv(mat)*mat_err. %-------------------. yprec/(sqrt(xprec^2+yprec^2))-(yprec-1000)/(sqrt(xprec^2+(yprec-1000)^2)).^2).^2).4. tampon_y = [100].err_g]. yprec/(sqrt(xprec^2+yprec^2))-yprec/(sqrt((xprec-1000)^2+yprec^2)).Estimation de f et g ------------------------estim_f = sqrt(xprec. Donner le développement en série de Taylor au 1er ordre des fonctions f et g (/2 points) 5.00001 et point de départ x=100m et y=100m). d1 = 580.dg_dy]. d3 = 590. xprec/(sqrt(xprec^2+yprec^2))-(xprec-1000)/(sqrt((xprec-1000)^2+yprec^2)).^2)-sqrt((xprec-1000). Réaliser l'implémentation de l'algorithme newton raphson en 2D.^2)-sqrt(xprec. critere = 100.d2) .00001. permettant de calculer les coordonnées x et y du récepteur (seuil d'arrêt = 0.^2+yprec.^2+yprec. while(critere>seuil) %-------------------. mat = [df_dx.^2+yprec.Déclarations des variables ------------------------seuil = 0.Calcul d'erreur ------------------------------err_f = (d1 . 5 . d2 = 860. %-------------------.dg_dx.estim_f. tampon_x = [100]. donner une copie d'écran de votre script (/2 points) clear all close all %-------------------. estim_g = sqrt(xprec. yprec = 100.^2+(yprec-1000).d3) .Calcul du déplacement ------------------------df_dx df_dy dg_dx dg_dy = = = = xprec/(sqrt(xprec^2+yprec^2))-xprec/(sqrt(xprec^2+(yprec-1000)^2)). tampon_critere = []. mat_err = [err_f. xprec = 100.df_dy.

xlabel('x'). plot(0. xprec = xsuiv.'bs'). figure(3). tampon_y = [tampon_y yprec]. ylabel('critere d''arret').clf. grid. plot(0.0. %-------------------. plot(tampon_x. tampon_critere = [tampon_critere critere]. puis tracer l'évolution du critère d'arrêt et de la position.'bs-'). ylabel('coordonnée y'). %-------------------. plot(tampon_x. grid. xlabel('numéro d''itération').'bs').tampon_y.^2) tampon_x = [tampon_x xprec].y) (/2 points) Après exécution du script. figure(2). ylabel('y'). Exécutez votre script. en fonction des itérations.clf.clf.'bs'). ysuiv = yprec + dy. figure(4). xlabel('itération'). dy = vect(2). grid.0. hold on.'ro-'). xlabel('itération').^2 + dy.dx = vect(1). plot(tampon_critere). plot(1000. grid. 6.Critère d'arrêt ------------------------critere = sqrt(dx. end figure(1). yprec = ysuiv. et donner les coordonnées du récepteur (x. plot(tampon_y. nous obtenons les figures suivantes : 6 .1000. ylabel('coordonnée x').Actualisation de x et y ------------------------xsuiv = xprec + dx.clf.'bs-').

7 . nous convergeons vers x = 494.Cette figure représente l’évolution de la coordonnée x en fonction des itérations.1m. nous convergeons vers y = 299.2m. Cette figure représente l’évolution de la coordonnée y en fonction des itérations.

8 .2m.299.100m).Cette figure représente l’évolution de l’estimation de la position du récepteur en fonction des itérations.y)=(494.1m) en partant du point de départ (100m. nous convergeons vers (x.

9 . Nous convergeons donc au point optimal après 5 itérations. ce qui arrête la boucle WHILE.Cette figure représente l’évolution du critère d’arrêt en fonction du numéro d’itération. ce qui est inférieur au seuil de 0. le critère d’arrêt est égal à 3. nous voyons qu’à la cinquième itération.8e-11.00001.