function x=nalu1(a)
a=[1 1 1;-1 3 1;2 -6 1] ;
b=[6
4
5];
%求可逆矩阵的crount分解
%[L U]=nalu(A) A为可逆方阵
%L返回单位下三角矩阵
%U返回单位上三角矩阵
n=length(b);
l=zeros(n,n);
u=eye(n,n);
l(1:n,1)=a(1:n,1);
u(1,2:n)=a(1,2:n)/a(1,1);
for k=2:n
% l(k:n,k)=a(k,2:k)-l(k,1:(k-1))*u(1:(k-1),2:k)
l(k:n,k)=a(k:n,k)-l(k:n,1:(k-1))*u(1:(k-1),k);
u(k,(k+1):n)=(a(k,(k+1):n)-l(k,1:(k-1))*u(1:(k-1),(k+1):n))/l(k,k);
end
%回带
y=zeros(n,1);
y(1)=b(1)/l(1,1);
%y(1)=b(1);
for k=2:n
y(k)=(b(k)-l(k,1:(k-1))*y(1:(k-1)))/l(k,k);
%y(k)=B(k)-L(k,1:(k-1))*y(1:(k-1));
end
x=zeros(n,1);
x(n)=y(n);
for k=n-1:-1:1
x(k)=y(k)-u(k,(k+1):n)*x((k+1):n);
%x(k,:)=(y(k)-U(k,(k+1):n)*x((k+1):n))/U(k,k);
end