Você está na página 1de 3

MÉTODO DE LA SECANTE:

cf=input('Ingrese funcion:')

f=inline(cf);

x0=input('Ingrese primer valor:');

x1=input('Ingrese segundo valor:');

tol=input('Ingrese la tolerancia:');

error=100;

n=0;

fprintf('n x0 x1 x2 error\n');

fprintf('%i %4.4f %4.4f ------- ------- \n',n,x0,x1);

while(error>tol)

n=n+1;

x2=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));

error=abs(f(x2));

fprintf('%i %4.4f %4.4f %4.4f %4.4f\n',n,x0,x1,x2,error);

x0=x1;

x1=x2;

end
function [xa,iter]= prog_newton(fn1,dfn1,x0,E,maxit)

format long

n=0;

disp("n xa ERROR");

for k=1:maxit

xa=x0-feval((fn1,x0)/feval(dfn1,x0));

fprintf("%d \t%1.9f \t\t%6.9f\n",n,xa,E)

n=n+1;

if(abs(xa-x*)<=E)

iter=k;

disp("EL METODO ES CONVERGENTE Y LA SOLUCION APROXIMADA ES :")

return;

endif

x0=xa;

endfor

disp("SE HA EXCEDIDO EL MAXIMO NUMERO DE ITERACIONES")

iter=maxit;

disp("EL METODO NO ES CONVERGENTE")

endfunction

function [y]=fn1(x)

y=exp(x)-3.141516;

return

function [y]=dfn1(x)

y=exp(x)-3.141516;

return

Você também pode gostar