J'ai besoin de faire une fonction qui permet d'appliquer la méthode de dichotomie afin de rechercher
la racine approchée d'une fonction non linéaire.J'ai écrit le code suivant mais il y a des erreurs.Qu'est ce que
je dois rectifier?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function [r, fr, compt]=Dichotomie(x, f, e, Nmax,a,b)
compt=1;
pas=0.01;
a(1)=a;
b(1)=b;
x0(1)=(a+b)/2;
dist=2*e;
while ((compt<Nmax) && ( dist>e ))
    u=f((a(compt)-a)/pas+1);
    v=f((x0(compt)-a)/pas+1);
    if(u.*v<0)
        b(compt+1)=x0(compt); a(compt+1)= a(compt);
    end
    if(u.*v>0)
        a(compt+1)=x0(compt); b(compt+1)=b(compt);
    end
    if(u.*v==0)
        dist=0;
    end
    compt=compt+1;
    x0(compt)=(a(compt)+b(compt))/2;
        dist=abs(x0(compt)-x0(compt-1)); 
end
r=x0(compt) ;
fr=dist;
fprintf('La racine de l''équation est: %f obtenue aprés %f itérations\n ',r,compt);