function [RA,RB,n,X]=shangsan(A,b)
%解上三角形方程组
B=[A b];n=length(b);RA=rank(A);RB=rank(B);zhica=RB-RA;
if(zhica>0)
disp('RA~=RB,无解');
end
if(RA==RB)
if(RA==n)
disp('有唯一解');
X=zeros(n,1);X(n)=b(n)/A(n,n);
for k=n-1:-1:1
X(k)=(b(k)-sum(A(k,k+1:n)*X(k+1:n)))/A(k,k);
end
else
disp('无穷解');
end
end
end
%解上三角形方程组
B=[A b];n=length(b);RA=rank(A);RB=rank(B);zhica=RB-RA;
if(zhica>0)
disp('RA~=RB,无解');
end
if(RA==RB)
if(RA==n)
disp('有唯一解');
X=zeros(n,1);X(n)=b(n)/A(n,n);
for k=n-1:-1:1
X(k)=(b(k)-sum(A(k,k+1:n)*X(k+1:n)))/A(k,k);
end
else
disp('无穷解');
end
end
end