Les programmes ont été écrits pour être utilisés avec le logiciel de calcul Scilab librement distribué par l'INRIA de Rocquencourt (http://www-rocq.inria.fr/scilab). Entre autres intérêts Scilab permet de chronométrer le temps d'exécution gràce à la fonction timer et reste assez souple dans l'écriture des programmes.
Pour la méthode barycentrique :
function y=f(x)
y=cos(x)-x;
endfunction
function y=fprime(x)
y=-sin(x)-1;
endfunction
timer();
n=0;
a=0;
b=1;
c=1;
epsilon=10^(-10);
while (abs(f(c))>epsilon) do
n=n+1;
c=(a*abs(f(b))+b*abs(f(a)))/(abs(f(a))+abs(f(b)));
if f(a)*f(c)<0 then
b=c;
else a=c;
end;
end;
t=timer()
n
a
b
f(c)
Pour
la méthode de dichotomie :
function y=f(x)
y=cos(x)-x;
endfunction
timer();
n=0;
a=0;
b=1;
epsilon=10^(-15);
c=1;
while (abs(f(c))>epsilon) do
n=n+1;
if (f(a)*f(c)<0) then
b=c;
else a=c;
end;
end;
a
b
f(a)
f(b)
n
t=timer()