矩阵LU分解的高斯消元法

A=[1,-1,1,-4;5,-4,3,12;2,1,1,11;2,-1,7,-1]
L=eye(length(A))
%开始消元过程
for k=1:(length(A))
   a=A(k,k)
   for i=k+1:(length(A))
      c=-A(i,k)
	  L(i,k)=-c./a
	  for j=1: (length(A))
		A(i,j)=A(i,j)+c.*A(k,j)./ a
	  end
   end
end
L
U=A

A =

     1    -1     1    -4
     5    -4     3    12
     2     1     1    11
     2    -1     7    -1

L =

     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1

a =

     1

c =

    -5

L =

     1     0     0     0
     5     1     0     0
     0     0     1     0
     0     0     0     1

A =

     1    -1     1    -4
     0    -4     3    12
     2     1     1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1     3    12
     2     1     1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    12
     2     1     1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     2     1     1    11
     2    -1     7    -1

c =

    -2

L =

     1     0     0     0
     5     1     0     0
     2     0     1     0
     0     0     0     1

A =

     1    -1     1    -4
     0     1    -2    32
     0     1     1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3     1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    11
     2    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     2    -1     7    -1

c =

    -2

L =

     1     0     0     0
     5     1     0     0
     2     0     1     0
     2     0     0     1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     0    -1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     0     1     7    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     0     1     5    -1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     0     1     5     7

a =

     1

c =

    -3

L =

     1     0     0     0
     5     1     0     0
     2     3     1     0
     2     0     0     1

A =

     1    -1     1    -4
     0     1    -2    32
     0     3    -1    19
     0     1     5     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0    -1    19
     0     1     5     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5    19
     0     1     5     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     1     5     7

c =

    -1

L =

     1     0     0     0
     5     1     0     0
     2     3     1     0
     2     1     0     1

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     1     5     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     5     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     7     7

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     7   -25

a =

     5

c =

    -7

L =

    1.0000         0         0         0
    5.0000    1.0000         0         0
    2.0000    3.0000    1.0000         0
    2.0000    1.0000    1.4000    1.0000

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     7   -25

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     7   -25

A =

     1    -1     1    -4
     0     1    -2    32
     0     0     5   -77
     0     0     0   -25

A =

    1.0000   -1.0000    1.0000   -4.0000
         0    1.0000   -2.0000   32.0000
         0         0    5.0000  -77.0000
         0         0         0   82.8000

a =

   82.8000

L =

    1.0000         0         0         0
    5.0000    1.0000         0         0
    2.0000    3.0000    1.0000         0
    2.0000    1.0000    1.4000    1.0000

U =

    1.0000   -1.0000    1.0000   -4.0000
         0    1.0000   -2.0000   32.0000
         0         0    5.0000  -77.0000
         0         0         0   82.8000

>> A=L*U

A =

     1    -1     1    -4
     5    -4     3    12
     2     1     1    11
     2    -1     7    -1

  

时间: 2024-10-29 08:39:50

矩阵LU分解的高斯消元法的相关文章

矩阵LU分解程序实现(Matlab)

n=4;%确定需要LU分解的矩阵维数 %A=zeros(n,n); L=eye(n,n);P=eye(n,n);U=zeros(n,n);%初始化矩阵 tempU=zeros(1,n);tempP=zeros(1,n);%初始化中间变量矩阵 A=[1 2 -3 4;4 8 12 -8;2 3 2 1;-3 -1 1 -4];%需要LU分解矩阵赋值 for p=1:n %将A矩阵赋值给U for q=1:n U(p,q)=A(p,q); end end jt=1;kt=0; for i=1:n-1

LU分解(2)

接着上次LU分解的讲解,这次给出使用不同的计算LU分解的方法,这种方法称为基于GaxPy的计算方法.这里需要了解lapapck中的一些函数.lapack中有一个函数名为gaxpy,所对应的矩阵计算公式是:x = Gx + y; 对应的Matlab代码如下: function[L, U] =zgaxpylu(A) %calculate LU decomposition based on Gaxpy operation %the same way as zlu.m but differnt appr

矩阵的LU分解

矩阵的LU分解function [x,L,U,index]=LU_Factorization(A,b) tic %A为要分解的矩阵 %b为方程组的右端常数项 %x为方程组的解 %L为单位下三角阵 %U为上三角阵 %index为指标变量,index=0表示计算失败,index=1表示计算成功 [n,m]=size(A); nb=length(b); %当方程行与列的维数不相等时,停止计算,并输出出错信息 if n~=m error('the rows and columns of matrix A

矩阵分解---QR正交分解,LU分解

相关概念: 正交矩阵:若一个方阵其行与列皆为正交的单位向量,则该矩阵为正交矩阵,且该矩阵的转置和其逆相等.两个向量正交的意思是两个向量的内积为 0 正定矩阵:如果对于所有的非零实系数向量x ,都有 x'Ax>0,则称矩阵A 是正定的.正定矩阵的行列式必然大于 0, 所有特征值也必然 > 0.相对应的,半正定矩阵的行列式必然 ≥ 0. QR分解 矩阵的正交分解又称为QR分解,是将矩阵分解为一个正交矩阵Q和一个上三角矩阵的乘积的形式. 任意实数方阵A,都能被分解为A=QR.这里的Q为正交单位阵,即

LU分解,Javascript代码

///A 为矩阵,这里写成一维数组,如 [1],[1,2,3,4] function GetLU(a) { var n = a.length;//矩阵的总数据数目 var s = Math.sqrt(n);//矩阵的阶数 var L = new Array(n); var U = new Array(n); if (GetDet(a) != 0) { var allOrderNotEqulesZero = true; for (var i = 0; i < s; i++) { if (GetDe

LU分解

function [L,U,p] = lutxloops(A) %LU Triangular factorization %   [L,U,p] = lup(A) produces a unit lower triangular matrix L, %   an upper triangular matrix U and a permutation vector p, %   so that L*U = A(p,:) [n,n] = size(A); p = (1:n)'; for k = 1:

机器学习基础篇——矩阵特征值分解含义解析及应用

特征值与特征向量的几何意义: 矩阵的乘法是什么,别只告诉我只是"前一个矩阵的行乘以后一个矩阵的列",还会一点的可能还会说"前一个矩阵的列数等于后一个矩阵的行数才能相乘",然而,这里却会和你说--那都是表象. 矩阵乘法真正的含义是变换,我们学<线性代数>一开始就学行变换列变换,矩阵乘法就是线性变换,若以其中一个向量A为中心,则B的作用主要是使A发生如下变化: 伸缩 clf;     %用来清除图形的命令 A = [0, 1, 1, 0, 0;... 1, 

数值分析--矩阵QR分解的三种方法

QR分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量.它是将矩阵分解成一个正规正交矩阵Q与上三角形矩阵R,所以称为QR分解法,与此正规正交矩阵的通用符号Q有关.

矩阵特征值分解与奇异值分解含义解析及应用

此文有一半转载自他出,主要在这进行个整理,具体内容文中都有相关的转载链接. 特征值与特征向量的几何意义 矩阵的乘法是什么,别只告诉我只是"前一个矩阵的行乘以后一个矩阵的列",还会一点的可能还会说"前一个矩阵的列数等于后一个矩阵的行数才能相乘",然而,这里却会和你说--那都是表象. 矩阵乘法真正的含义是变换,我们学<线性代数>一开始就学行变换列变换,那才是线代的核心--别会了点猫腻就忘了本--对,矩阵乘法 就是线性变换,若以其中一个向量A为中心,则B的作用