1 function [n,X]=iteration_newton(x0,nmax,epsilon,fcn)
\r
4 % iteration_newton : calcul d'une racine la méthode de Newton
\r
6 % *********************************************************
\r
8 % [n,X]=iteration_newton(x0,nmax,epsilon,fcn) renvoie
\r
9 % les itérés de la méthode de Newton
\r
10 % (la dérivée f' est calculée symboliquement)
\r
12 % variables d'entrées :
\r
13 % * nmax : nombre maximal d'itérations
\r
14 % * x0 : le premier terme
\r
15 % * epsilon : précision souhaitée
\r
16 % * fcn est une chaîne de caractère représentant la fonction
\r
17 % (de type inline, builtin ou par fichier M-file);
\r
19 % variables de sortie :
\r
20 % * n est l'indice correspondant à x_n avec f(x_n)=0 ou |x_n-x_{n-1}|<epsilon
\r
22 % * X est une vecteur qui contient les valeurs de x_0 à x_n
\r
26 % ************ Fonctions auxiliaires utilisées ************
\r
30 % *********************************************************
\r
35 % Contrôles d'entrée
\r
37 if (qs~=2) & (qs~=5) & (qs~=1)
\r
38 error('fcn doit être le nom d''une fonction (built-in, M-file ou inline)');
\r
41 % corps d'algorithme
\r
44 fcnpsymb=diff(g,vx);
\r
46 test=(feval(fcn,x0)~=0);
\r
49 fxp=subs(fcnpsymb,vx,x);
\r
50 if ~(isnumeric(fxp));
\r
57 fxnp1=feval(fcn,xnp1);
\r
58 test=~((fxnp1==0)|(n>=nmax)|(abs(x-xnp1)<=epsilon));
\r
61 fxp=subs(fcnpsymb,vx,x);
\r
62 if ~(isnumeric(fxp));
\r
68 disp('attention, n>nmax');
\r