f=input('Ingrese la funcin :' , 's');
f=inline(f);
a=input('Ingrese el extremo inferior del intervalo:');
b=input('Ingrese el extremo superior del intervalo: ');
tol=input('Ingrese la tolerancia: ');
n=input('Ingrese el numero mximo de iteraciones:');
if (f(a)*f(b)<0)
i=1 ;
e=1000;
fprintf('Iter.\t\t inf.\t\t\t\t Sup.\t\t\t\t Raiz\t\t\t\t Error\n');
while (e>=tol && i<=n)
c=(a+b)/2;
if (i==1)
fprintf('%2d\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\t\t\t"------"\n',i,a,b,c);
end
if (f(a)*f(c)<0)
b=c;
end
if (f(b)*f(c)<0)
a=c;
end
r=c;
c=(a+b)/2;
e=abs(((c-r)/c)*100);
i=i+1;
fprintf('%2d\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\n',i,a,b,c,e
);
end
fprintf('Raiz=%12.10f\n' , c );
fprintf('ERROR=%12.10f\n',e );
else
fprintf('No existe raiz en este intervalo o debe elegir otro metodo' );
end