%-----------------------------------------------------------------------
%               -------------                         ----------
%		function file                         solvetri.m
%               -------------                         ----------
%-----------------------------------------------------------------------
%
	function  [x] = solvetri(Diag,Sup,Sub,b,ndim)
%====================================================
%
%
%	Resolucao de um Sistema Tridiagonal
%------------------------------------------
%
%	Decomposicao de Crout
%----------------------------
%
%	Variaveis de Entrada
%---------------------------
%	Diag	: Diagonal Principal da Decomposicao de Crout
%	Sup	: Diagonal Superior  "     "         "    "
%	Sub 	: Diagonal Inferior  "     "         "    "
%	Ndim	: Dimensao do Sistema
%
%
%	Variaveis de Saida
%-------------------------
%	x	: Solução do Sistema Linear
%
%
%
%	Resolucao do Sistema Tringular Inferior
%----------------------------------------------
%
%
	x = zeros(ndim,1);         % inicializa o vetor  x
%                                    ---------------------
%
	x(1) = b(1);
%	
	for i = 2:ndim
	x(i)  = b(i) - x(i-1)*Sub(i-1);
	end
%
%
%	Resolucao do Sistema Triangular Superior
%-----------------------------------------------
%
	x(ndim) = x(ndim)/Diag(ndim);
%
	for i = (ndim-1):-1:1
	x(i)  =  ( x(i)  -  x(i+1)*Sup(i) ) / Diag(i);
	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
%--------------------------------------------------
%-----------------------------------------------------------------------
%
%
%
%	-----------------------------------
%	Armazenamento da Matriz Tridiagonal
%------------------------------------------
%
%
%
%	Diagonal Principal
%-------------------------
%
%	diag(i) = a(i,i)  para  i = 1,2, ... ndim
%
%
%	Diagonal Superior
%------------------------
%
%	sup(i) = a(i,i+1)  para  i = 1,2, ... (ndim-1)
%
%
%
%	Diagonal Inferior
%------------------------
%
%	sub(i-1) = a(i,i-1)  para  i = 2,3, ... ndim
%
%
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
