Está en la página 1de 8

METODOS NUMERICOS

METODOS ABIERTOS ING.GODINEZ VELASQUEZ ALFREDO

INTEGRANTES:
RODRIGUEZ SANDOVAL DIEGO DAVID REYES GONZALEZ FABIAN MARTINEZ CARMONA VICTOR PEREZ LIBREROS LUIS ENRIQUE

METODO DEL PUNTO FIJO


DIAGRAMA DE FLUJO

puntof(xi,tol,maxit)

i=1

funcin g(x)

band=f

ciclo w hile_do

g=.....

retornar

band=f o i<=maxit band=v


Si No

si

x=g(x)

mtodo no converge

raiz= x
Si

|x-xi|<=tol retornar
No

band=v

i=i+1

xi=x

LENGUAJE DE PROGRAMACION EN MATLAB


function p=pfijo(fun,p0,tol,maxiter) % Aproxima por el mtodo del punto fijo una raiz de la ecuacion fun(x)=x %cercana p0, tomando como criterio de parada abs(fun(x)-x)<tol o la cota sobre % el numero de iteraciones dada por maxiter. % % Variables de entrada: % fun(x): funcion a iterar, se debe introducir con notacin simbolica (eg. 'g') % x0: estimacin inicial para el proceso de iteracin % tol: tolerancia en error absoluto para la raiz % maxiter: maximo numero de iteraciones permitidas % % Variables de salida: % p: valor aproximado de la raiz p(1)=p0; for n=2:maxiter; p(n)=feval(fun,p(n-1)); err=abs(p(n)-p(n-1)); if err<tol break; end disp(['n=',num2str(n)]); disp(['f(x)=',num2str(p(n))]); disp(['abs(f(x)-x)=',num2str(err)]); end if n==maxiter disp('se ha excedido el nmero de iteraciones') end p'

METODO DE NEWTON RAPHSON


DIAGRAMA DE FLUJO

new tonr(xi,tol,maxit)

funcin fx(x)

i=1

fx=.....

band=f

ciclo w hile_do

retornar

funcin fp(x)

band=f o i<=maxit
fp=.....
si

band=v
Si

No

xi=xi-fx(xi)/fp(xi)

mtodo no converge

retornar

raiz= xi
Si

|f(xi)|<=tol retornar
No

band=v

i=i+1

LENGUAJE DE PROGRAMACION

disp ('NEWTON-RAPHSON') xo=input('Valor inicial ='); n=input ('numero de iteraciones='); salida=ones(n,4); % matiz de salida de datos for i=1:n x1=xo-[(exp(-xo)-xo)]/[(-exp(-xo)-1)]; vsal=[xo;x1]; er=[[abs((xo-x1)/xo)]]*100; % error relativo porcentual ea=[[abs((x1-xo)/x1)]]*100; % error xo=x1; Salida Salida Salida Salida (i,1)=i; (i,2)=x1; (i,3)=er; (i,4)=ea;

End disp('ite raiz er ea'); disp(num2str(salida));

METODO DE NEWTON RAPHSON MODIFICADO


function newtonmodificado global fun dfun ddfun fprintf('metodo de newtonmodificado:\n'); fun=input('ingrese la funcion:\n','s'); x0=input('ingrese el punto inicial:\n'); tol=input('ingrese la tolerancia:\n'); dfun=diff(fun); ddfun=diff(diff(fun)); it=0; fprintf('it x0 x1 x0-x1'); while(it<50) it="it+1;" x="x0;" x1="x0-((eval(fun)*eval(dfun))/((eval((dfun)^2))(eval(fun)*eval(ddfun))));"> fprintf('el procedimiento se completo satisfactoriamente:\n'); break end x0=x1; end fprintf('la raiz buscada es =%15.9f\n',x1); ezplot(fun),grid on

METODO DE LA SECANTE
DIAGRAMA DE FLUJO
msecante(x0,x1,tol1,tol2,maxit)
funcin fx(x)

i=1

fx=.....

band=f

ciclo w hile_do

retornar

band=f o i<=maxit band=v


Si No

si

x=x0-(x1-x0)*fx(x0)/ (fx(x1)-fx(x0))

mtodo no converge

raiz= x
Si

|x-x1|<=tol1 retornar
No

band=v

Si

|f(x)|<=tol2
No

band=v

x0=x1

x1=x

i=i+1

LENGUAJE DE PROGRAMCION EN MATLAB


clc clear f='exp(-x)-log(x)'; f=inline(f); x0=1; x1=2; xra=0; xr=0; xra=0; tol=1; i=1; error_aprox=1; error=0; f1=f(x1); f2=x0-x1; f3=f(x0); f4=f(x1); xr=x1-(f1 * f2 / ( f3 - f4 )); fprintf('It. X0 X1 Xr Error aprox \n'); fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %11.7f \n',i,x0,x1,xr,error); while error_aprox >= 0.01, xra=xr; % x1=x0; x0=xr; % f1=f(x1); f2=x0-x1; f3=f(x0); f4=f(x1); xr=x1-(f1 * f2 / ( f3 - f4 )); % error = abs((xr - xra) / xr); error_aprox = error; fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %11.7f \n',i,x0,x1,xr,error_aprox); i=i+1; end

También podría gustarte