1 function [n,X]=iteration_dichotomie(a,b,nmax,epsilon,fcn)
\r
4 % iteration_dichotomie : calcul d'une racine d'une fonction par dichotomie
\r
6 % *********************************************************
\r
8 % [n,X]=iteration_dichotomie(a,b,nmax,epsilon,fcn) renvoie
\r
9 % les itérés de la méthode de dichotomie
\r
11 % variables d'entrées :
\r
12 % * a,b : borne de l'intervalle (avec f(a)f(b)<=0)
\r
13 % * nmax : nombre maximal d'itérations
\r
14 % * epsilon : précision souhaitée
\r
15 % * fcn est une chaîne de caractère représentant la fonction
\r
16 % (de type inline, builtin ou par fichier M-file);
\r
18 % variables de sortie :
\r
19 % * n est l'indice tel que (1/2^n)(b-a)<epsilon
\r
20 % * X est une vecteur qui contient les valeurs de x_0 à x_n
\r
24 % ************ Fonctions auxiliaires utilisées ************
\r
28 % *********************************************************
\r
33 % Contrôles d'entrée
\r
35 error('il faut a<b');
\r
38 if (qs~=2) & (qs~=5) & (qs~=1)
\r
39 error('fcn doit être le nom d''une fonction (built-in, M-file ou inline)');
\r
41 if (feval(fcn,a)*feval(fcn,b)>0)
\r
42 error('il faut f(a)f(b)<=0');
\r
45 % corps d'algorithme
\r
47 n=fix(-log(epsilon/(b-a))/log(2))+1;
\r
49 error('il faut n plus petit que nmax');
\r
54 auxif=feval(fcn,a)*feval(fcn,x);
\r