Está en la página 1de 1

% Metodo de la Secante

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

fprintf('%3.0f %12.12f %12.12f %12.12f\n',i,xn,erabs,yn)


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')

También podría gustarte