function [L,U]=LU(a)
%Doolittle三角分解法
[m,n]=size(a);
if m~=n
error('输入m的值应与n相同')
end
L=eye(n,n);
%单位下三角阵
U=zeros(n,n);
U(1,:)=a(1,:);
L(:,1)=a(:,1)/U(1,1);
for k=2:n
U(k,k:n)=a(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n);
%计算U的第k行元素
L(k:n,k)=(a(k:n,k)-L(k:n,1:k-1)*U(1:k-1,k))/U(k,k);