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:
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);
