%-----------------------------------------------------------------------
%             -------------                           --------
%             function file                           trisup.m
%             -------------                           --------
%-----------------------------------------------------------------------
%
%	Resolucao de um Sistema Triangular Superior
%--------------------------------------------------
%
%
%	Chamada do procedimento trisup
%-------------------------------------
%       [x] = trisup(U)
%
%
%	Variavel de Entrada
%--------------------------
%
%	U   :  Matriz Ampliada Triangular Superior
%
%	Variavel de Saida
%------------------------
%
%	x   :  Vetor Solucao do Sistema Triangular Superior
%
%
	function [x] = trisup(U)
%-------------------------------
%
%
%
%	Resolucao de um Sistema Triangular Superior
%--------------------------------------------------
%
%
%	Variavel de Entrada
%--------------------------
%
%	U   :  Matriz Ampliada Triangular Superior
%
%	Variavel de Saida
%------------------------
%
%	x   :  Vetor Solucao do Sistema Triangular Superior
%
%
	  [n,m]  =  size(U);	  %  n : dimensao do Sistema Linear
              x  =  zeros(n,1);
	epsilon  =  1.0e-10;	  %  precisao para o Teste de Singularidade
%
%
	for i = n:-1:1
%		
		soma = 0.0;
%		
		for j = (i+1):n
%		
			soma = soma + U(i,j)*x(j);
%		
		end
%	
%
%	Verifica se a Matriz e' Singular
%---------------------------------------
	if ( abs(U(i,i)) <= epsilon )
	disp('  '), disp('  ')
	error('      Sistema  Singular')
	end
%
	x(i) = ( U(i,n+1) - soma) / U(i,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/
%
%---------------------------------------------------------------------
