%-----------------------------------------------------------------------
%             -------------                             ---------
%             function file                             secante.m
%             -------------                             ---------
%-----------------------------------------------------------------------
%                        ----------------------------
%		         Zeros Reais de Funcoes Reais
%                        ----------------------------
%                             -----------------
%  		              Metodo da Secante
%                             -----------------
%
%
%            Chamada do Procedimento  newton
%-------------------------------------------
%            [xbarra,fxbarra,errox,iter] = secante(fname,xo,x1,epsilon)
%
%
%	Variaveis de Entrada
%---------------------------
%
%	  fname  :	Nome da Function que contem a funcao
%	 xo, x1  :	Aproximacoes iniciais para um zero da funcao
%	epsilon	 :	Precisao da Aproximacao do Zero da funcao(default=1e-6)
%
%	Variaveis de Saida
%-------------------------
%
%	xbarra	:	Aproximacao do zero da funcao
%	fxbarra :	Valor da funcao no ponto xbarra
%	errox 	:	Erro da Aproximacao do zero da funcao
%	iter	:	Numero de Iteracoes do Metodo de Newton
%-------------------------------------------------------------------
%
	function [xbarra,fxbarra,errox,iter] = secante(fname,xo,x1,epsilon)
%==========================================================================
%
%
%
%	-----------------
%	Metodo da Secante
%------------------------
%
%
if nargin<4
    epsilon=1e-6;
end
       	 iter  =  0;
        limax  =  50;
	 erro  =  1.0;
%	
%
	while ( (erro >  epsilon) & (iter < limax) )
%
	     fxo = feval(fname,xo);
%
	derivada = (feval(fname,xo) - feval(fname,x1))/(xo - x1);
%
%
%       ----------------
%	Nova Aproximacao
%-----------------------
	 xbarra  =  xo - ( fxo / derivada );
	fxbarra  =  feval(fname,xbarra);
%
%
	 iter = iter + 1;
	errox = abs(xbarra - x1);
	 erro = max(errox,abs(fxbarra));
	   xo = x1;
           x1 = xbarra;
%
	end
%
%
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%
%	Petronio Pulino
%	Departamento de Matemática Aplicada - D.M.A
%	IMECC - UNICAMP
%	e-mail: pulino@ime.unicamp.br
%	http://www.ime.unicamp.br/~pulino/MS211
%
%-----------------------------------------------------------------------
