function[L,U,b,x]=LUb(A,b);
%L:下三角矩阵;Ux=b:消元法所得;x:函数的解
[m,n]=size(A);
%A为方阵,所以也可以为m=size(A,2)
%先一行,再一列
for i=1:m
for j=i:n
if i>1
for t=1:i-1
A(i,j)=A(i,j)-A(i,t)*A(t,j);
end
end
end
%上面为行矩阵元素求解,U相关元素
if i>1
for t=1:i-1
b(i)=b(i)-b(t)*A(i,t);
end
end
%为b进行变换
for z=i+1:m
if i<m
for t=1:i-1
A(z,i)=A(z,i)-A(z,t)*A(t,i);
end
A(z,i)=A(z,i)/A(i,i);
end
end
%列元素求解:L矩阵
end
U=triu(A); %提取上三角矩阵
L=tril(A)-diag(diag(A))+eye(size(A));
%提取下三角矩阵,减掉对角阵,加上单元矩阵
y=b;
%保持b不变,后期可以输出
%回代求解
for i=m:-1:1
t=m;
while i<t
y(i)=y(i)-U(i,t)*x(t);
t=t-1;
end
x(i)=y(i)/U(i,i);
end