天天看点

矩阵的LU分解和GAUSS消去

本质

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

图片说明

  1. 提供A和D阵
矩阵的LU分解和GAUSS消去
矩阵的LU分解和GAUSS消去
  1. 答案L,U,answer
  2. 矩阵的LU分解和GAUSS消去
    矩阵的LU分解和GAUSS消去
    矩阵的LU分解和GAUSS消去

继续阅读