MATLAB lu()分解函数的用法
矩阵的 LU 分解又称矩阵的三角分解,它的目的是将一个矩阵分解成一个下三角矩阵 L 和一个上三角矩阵 U 的乘积,即 A=LU。这种分解在解线性方程组、求矩阵的逆等计算中有着重要的作用。
在 MATLAB 中,实现 LU 分解的函数是 lu(),它的调用格式及说明如下表所示。
【实例】分别用 lu() 函数的两种调用格式对对称正定矩阵 A 进行 LU 分解,比较二者的不同。MATLAB 程序如下:
在 MATLAB 中,实现 LU 分解的函数是 lu(),它的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
[L,U] = lu(A) | 对矩阵 A 进行 LU 分解,其中 L 为单位下三角矩阵或其变换形式,U 为上三角矩阵。 |
[L, U, P] = lu(A) | 对矩阵 A 进行 LU 分解,其中 L 为单位下三角矩阵,U 为上三角矩阵,P 为置换矩阵,满足 LU=PA。 |
【实例】分别用 lu() 函数的两种调用格式对对称正定矩阵 A 进行 LU 分解,比较二者的不同。MATLAB 程序如下:
>> clear % 清除工作区的变量 >> A = gallery('minij',4) % 生成4阶对称正定测试矩阵A A = 1 1 1 1 1 2 2 2 1 2 3 3 1 2 3 4 >> [L,U]=lu(A) % 对测试矩阵A进行LU分解,返回单位下三角矩阵和上三角矩阵 L = 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 U = 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 >> [L,U,P]=lu(A) % 对测试矩阵A进行LU分解,返回单位下三角矩阵、上三角矩阵和置换矩阵 L = 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 U = 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 P = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1