矩阵的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阵

系数矩阵A
矩阵D

  1. 答案L,U,answer
  2. L矩阵
    U矩阵
    answer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值