f=inline(fx); %crea la funcion f(x)a partir de los caracteres fx xi=input('Ingrese el valor inicial inferior: '); xs=input('Ingrese el valor incial superior: '); tol=input('Ingrese la tolerancia: '); fplot(fx,[xi,xs],'r'),grid, fxi=f(xi); fxs=f(xs); max1=1+round((log(xs-xi)-log(tol))/log(2)); if fxi*fxs==0 if fxi==0 fprintf('La raiz de la funcin es %f\n',xi) elseif fxs==0 fprintf('la raiz de la funcion es %f\n',xs) end elseif fxi*fxs<0 disp('k Xi Xc Xs f(Xc)') for c=1:max1 xc=(xi+xs)/2; fxc=f(xc); fprintf('%d\t%8.6f\t%8.6f\t%8.6f\t%.6f\n',c,xi,xc,xs,fxc) if fxc==0 fprintf('la raiz de la funcion es %f\n',xc) break elseif fxi*fxc<0 xs=xc; fxs=fxc; else xi=xc; fxi=fxc; end end hold on, plot(xc, fxc,'ob','MarkerSize',10,'MarkerFaceColor','k'), hold off else disp('El producto de f(xs)*f(xi)>0') end clear