funciones (1)

2
 function [xr,iter,ea]=biseccion(f,xl,xu,es,imax) iter=0; f=inline(f); xr=(xl+xu)/2; while iter<imax || es<ea  xrold=xr;  xr=(xl+xu)/2;  iter=iter+1;  if xr~=0  ea=abs(((xr-xrold)/xr)*100);  end  fr=f(xr);  fprintf('\n%3.0f %3.5f %3.5f %3.5f %3.5f\n',iter,xl,xu,xr,fr)  if f(xl)*fr<0;  xu=xr;  elseif f(xl)*fr>0  xl=xr;  else  ea=0;  end  end end function [ xr ] = newton_rap( f,x0,imaxn,EPS,EPS1) sym('x'); df=diff(f,'x'); f=inline(f); df=inline(df); i=0; fprintf('\n it x Ea \n') while i<imaxn;  i=i+1;  xr=x0-(f(x0)/df(x0));  Ea= abs(xr-x0);  fprintf('\n %3.2f %3.6f %3.6f \n',i,xr,Ea)  if abs(xr-x0)<EPS  break  end  if abs(f(xr))<EPS1  break  end  x0=xr; end if i>=imaxn  fprintf('\n\n el metodo no converge \n\n') end  end

Upload: fernando-galindo

Post on 14-Jan-2016

216 views

Category:

Documents


0 download

DESCRIPTION

qwe

TRANSCRIPT

7/18/2019 funciones (1)

http://slidepdf.com/reader/full/funciones-1-5696e6c0ef947 1/2

function [xr,iter,ea]=biseccion(f,xl,xu,es,imax)iter=0;f=inline(f);xr=(xl+xu)/2;

while iter<imax || es<ea  xrold=xr;  xr=(xl+xu)/2;  iter=iter+1;  if xr~=0  ea=abs(((xr-xrold)/xr)*100);  end  fr=f(xr);  fprintf('\n%3.0f %3.5f %3.5f %3.5f %3.5f\n',iter,xl,xu,xr,fr)  if f(xl)*fr<0;  xu=xr;  elseif f(xl)*fr>0  xl=xr; 

else  ea=0;  end end

end

function [ xr ] = newton_rap( f,x0,imaxn,EPS,EPS1)sym('x');df=diff(f,'x');f=inline(f);df=inline(df);

i=0;fprintf('\n it x Ea \n')while i<imaxn;  i=i+1;  xr=x0-(f(x0)/df(x0)); 

Ea= abs(xr-x0);  fprintf('\n %3.2f %3.6f %3.6f \n',i,xr,Ea) 

if abs(xr-x0)<EPS  break  end  if abs(f(xr))<EPS1

  break  end  x0=xr;endif i>=imaxn  fprintf('\n\n el metodo no converge \n\n')end end

7/18/2019 funciones (1)

http://slidepdf.com/reader/full/funciones-1-5696e6c0ef947 2/2

function [ xr] = secante(f,x0,x1,imaxs,EPS,EPS1 )sym x;f=inline(f);i=1;xrold=0;fprintf('\n it x0 x1 xr ea\n');while i<imaxs ;  xr=x0-((x1-x0)*f(x0))/(f(x1)-f(x0));  ea=abs((xr-xrold)/xr);  fprintf('\n %3.2f %3.5f %3.5f %3.8f %3.8f \n',i,x0,x1,xr,ea);  if abs(xr-x1)<EPS ;  fprintf (' La raiz xr= %3.8f \n',xr);

breakend

 if abs(f(xr))<EPS1;

  fprintf (' La raiz xr= %3.8f \n',xr);  break  end 

x0=x1;  x1=xr;  xrold=xr;  i=i+1;  if i>=imaxs;  fprintf('Numero excedido de iteraciones\n');  endend

 end