矩阵LU分解的高斯消元法

Posted 木卜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵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

  

以上是关于矩阵LU分解的高斯消元法的主要内容,如果未能解决你的问题,请参考以下文章

(Gauss-Jordan)高斯消元法求逆矩阵(含C/C++实现代码)

矩阵的LU分解该怎么具体做。亲,。举个例子吧

矩阵——LU分解

矩阵分解

高斯消元法

Eigen学习之简单线性方程与矩阵分解