salut
est c que vous pouvez m'aider svp sur un exercice sur matlab?
j'ai trouvé cet exercice dans un site,il permet de trouver les sollutions de la fonction: f(x)=exp(x)-2.cos(x) d'après la méthode newton-raphson!
ce petit programme detecte une erreur;
Error in ==> etude_fct at 13
x(1)=input('Donner la valeur initiale x(1): \n');
pouvez vous m'aider svp!
est ce que vous pouvez me dire à quoi sert la commande figure dans matlab ?
et c quoi la difference entre:clf et clc?
merci pour votre aide!
----------------------------------------------
Code: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'
-----




ce qui est déjà une très bonne précision. Dans ce cas il pose xp le résultat final comme étant égal à la dernière valeur calculée x(i). Ainsi en général le calcul demande moins de 5000 itérations, le 5000 est là comme sécurité pour éviter que le programme tourne indéfiniment en cas de problème de convergence. Il est important que e soit quand même relativement grand par rapport aux cumuls des erreurs d'arrondis sinon le programme risque de faire beaucoup d'itération à la fin pour rien puisqu'elles n'améliorerons pas le résultat (voire pire puisqu'il y aura plus d'erreurs d'arrondis au final. La valeur de e est donc tout à fait raisonnable.


