当前位置:文档之家› 计算方法_矩阵LU分解法

计算方法_矩阵LU分解法

clear all; %A=LU矩阵三角分解法
n=input('输入方矩阵的维数: ');
for i=1:n
for j=1:n
A(i,j)=input('依次输入矩阵元素:');
end
end %输入一个n阶方形矩阵
for j=1:n
L(j,j)=1; %Doolittle分解,L对角元素全为1 end
for j=1:n
U(1,j)=A(1,j);
end %U的第一行
for i=2:n
L(i,1)=A(i,1)/U(1,1);
end %L的第一列
for k=2:n
for j=k:n
sum1=0;
for m=1:k-1
sum1=sum1+L(k,m)*U(m,j);
end %求和
U(k,j)=A(k,j)-sum1;
end
for i=k+1:n
sum2=0;
for m=1:k-1
sum2=sum2+L(i,m)*U(m,k);
end %求和
L(i,k)=(A(i,k)-sum2)/U(k,k);
end
end
L %输出下三角矩阵L
U %输出上三角矩阵U
运行结果:(示例)
输入方矩阵的维数: 4
依次输入矩阵元素: 1
依次输入矩阵元素: 1
依次输入矩阵元素: 2
依次输入矩阵元素: 3
依次输入矩阵元素:0
依次输入矩阵元素: 2
依次输入矩阵元素: 1
依次输入矩阵元素: 2
依次输入矩阵元素: 1
依次输入矩阵元素:-1
依次输入矩阵元素: 2
依次输入矩阵元素: 2
依次输入矩阵元素: 2
依次输入矩阵元素: 2
依次输入矩阵元素: 5
依次输入矩阵元素:9
A=LU分解后则可以求解Ax=b线性方程组,相关计算参考计算方法,这里不再详细介绍。

相关主题