clear clc f=inline('3*x^3-x-1','x'); % Se escribe la función y con respecto a cual variable se evalua
%Ingreso de datos necesarios para calcular la raiz de la función
xa=input('Ingrese el valor izquierdo del intervalo xa: '); xb=input('Ingrese el valor derecho del intervalo xb: '); tol=input('Ingrese el valor de la tolerancia deseada: '); n=input('Ingrese el numero maximo de iteraciones que podria realizarse: ');
if f(xa)*f(xb)>0 %condicional en caso de que no existiera raices en el
intervalo error('La función no tiene raices en el intervalo') end
%Presentación en formato de tabla con el error absoluto
fprintf(' n xn Errabs |f(xn)|\n') for i=1:n ya=f(xa); yb=f(xb); xn=xb-(yb*(xb-xa)/(yb-ya)); erabs=abs((xn-xb)/xn)*100; A=[xn]*n; B=[xb]*n; error_apr(i)=abs((A-B)/A)*100; yn=abs(f(xn));
if erabs<tol || yn<tol fprintf(' El valor de la aproximación es: % 12.12f\n ',xn) return else xa=xb; ya=yb; xb=xn; yb=yn; end end fprintf('Se alcanzo el numero maximo de iteraciones\n')