Está en la página 1de 4

#METODO DE LA SECANTE

clc

f = input("ingrese la funcion : ","s");

funcion = inline(f);

xi= input("punto de incicio 1: ");

xf= input("punto de inicio 2: ");

erro= input("error aproximado: ");

function ea = errora(xn,xp)

ea = abs( xn - xp );

end

if funcion(xi)-funcion(xf)~=0

i=1;

fprintf ("_________________________________________\n");

fprintf("%s\t %s\t\t %s\n", 'I', 'XN', '|EA|');

fprintf ("_________________________________________\n");

fprintf('%.0f\t', i);

fprintf('%.5f\t\t', xi);

fprintf('%.5f\t', errora(xf,xi));

fprintf ("\n");

while errora(xf,xi)>erro

xn = xi-(((xi-xf)/(funcion(xi)-funcion(xf)))*funcion(xi));

xf = xi;
xi = xn;

i++;

fprintf('%.0f\t', i);

fprintf('%.5f\t\t', xn);

fprintf('%.5f\t', errora(xn,xf));

fprintf ("\n");

endwhile;

fprintf ("__________________________________________\n");

else

fprintf("no se puede calcular");

end
#METODO DE NEWTON RAPSHON

clc;

funcion = input('Escribe la f(x) : ','s')

funcion = inline(funcion);

derivada = input('Escribe la df(x) : ','s')

derivada = inline(derivada);

xi = input('Ingrese el xi inicial: ');

cantidad = input('Ingrese el numero de iteraciones: ');

i=1;

function ea = errora(xa,xp)

ea = abs(((xa-xp)/xa)*100);

endfunction

if derivada(xi) == 0

fprintf ('no se puede hallar una raiz');

else

fprintf("%s\t %s\t\t %s\n",'i','Xi',' Ea ');

while i <= cantidad

fprintf('%d\t',i);

fprintf('%.8f\t',xi);

xn = xi-(funcion(xi)/derivada(xi));

fprintf('%.8f\t',errora(xn,xi));
xi = xn;

fprintf ("\n");

i++;

endwhile

fprintf ("____________________________________________\n");

fprintf('\nLA RAIZ APROXIMADA ES: %.8f\n',xn);

endif

También podría gustarte