本质
Gauss消去的过程就是LU分解的过程
作用
将给定的系数矩阵A和D,进行Gauss消去,同时生成L和U矩阵,以及方程的解
同时将生成的解与利用matlab自带求解进行对比,求解误差
如果没有问题,输出Lsq is handsome
LU分解和GAUSS消去
-
- 本质
- 作用
- 图片说明
function [as,L,U]=Lsq_LU(A,D)
%
% A=[1 2 3 5 ; 4 5 6 7; 7 8 12 12; 10 9 12 42];
% D=[2;5;9;11];
C=D;
[a,b]=size(A);
B=A;
c=2;
m=zeros(a,b);
as=zeros(a,1);
for i=1:b
for j=2+i-1:a
m(j,i)=B(j,i)/B(i,i);
B(j,i:b)=B(j,i:b)-m(j,i)*B(i,i:b);
C(j)=C(j)-m(j,i)*C(i);
end
end
%
as(a)=C(a)/B(a,a);
for k=a-1: -1 :1
ff=0;
for j=k+1:a
temp=B(k,j)*as(j);
ff=ff+temp;
end
as(k)=(C(k)-ff)/B(k,k);
end
%验证误差
mc=inv(A)*D;
error=abs(abs(mc-as));
if error< 1e-12
fprintf(‘Lsq is handsome %f\n’);
else
fprintf(‘算错了 %f\n’);
end
%
for i=1:a
m(i,i)=1;
end
L=m;
U=B;
end
图片说明
- 提供A和D阵
- 答案L,U,answer