线性方程组的直接解法

高斯消去法

消元法的基本思想:利用第一个方程消去后面n-1个方程中的第一个未知数,再利用第二个方程消去后面n-2个方程的第二个未知数,以此类推,直到把系数矩阵变成上三角阵的形式

然后从最后一个方程开始,解出x_n,代入前一个方程解出x_{n-1},以此类推。

顺序消元和回代

 算法:Gauss顺序消元算法:

 

 计算复杂度

顺序消元能进行至第k步充要条件

定理:高斯顺序消元法能进行到第k步\Leftrightarrow前面k个顺序主子式都不为零

 矩阵的三角分解

由消元过程的矩阵形式及上述定理,可得到矩阵三角分解定理

存在性:高斯顺序消元已给出

唯一性:归纳+反证法

 三角分解常用语需解多个右端向量方程组情况。解一次三角分解,多次回代,回代复杂度O(n^2)低于分解复杂度O(n^3)

顺序消元法存在问题

列主元高斯消去法

 

 列主元高斯消去法算法

用矩阵语言来描述上述算法,可写成:

 

 证明

 Gauss-Jordan消去法

消元时同时消去对角线上下元素,把A化成对角阵,可以计算A^{-1},但是计算量会增大到\frac{n^3}{2}+O(n^2)

 矩阵三角分解法——Gauss消去法的变形

Doolittle三角分解(LU,LR分解)

利用矩阵的三角分解来求解Ax=b,假设A的顺序主子式都不为零,将A分解为A=LU,再解LUx=b,分为两步:

Ly=b

Ux=y

选主元LU分解

 对称阵的三角分解

 

证明:已经证过A可唯一分解为LU +A^T=A

 什么样的对称阵有Cholesky分解

 非正定-->D矩阵对角元存在负值,无法开根

使用Cholesky分解计算量:\frac{n^3}{6}+O(n^2)

需不需要选主元?

 算法缺陷
——需要计算很多平方根,平方根的计算远大于乘除法。

改进:用A=LDL^T分解来计算

 

带状矩阵的三角分解法

 

 

证明:归纳法

 

变形1——分块

 变形2——循环三对角阵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 中,可以使用“\”操作符进行线性方程组的直接解法,包括高斯消元法和 LU 分解法。 1. 高斯消元法: 假设有一个系数矩阵 A 和一个常数向量 b,可以使用 MATLAB 的“\”操作符进行高斯消元法求解线性方程组。具体的步骤如下: a. 构造增广矩阵 [A, b]。 b. 使用“\”操作符求解线性方程组,即 x = A \ b。 c. 得到解向量 x。 例如,对于下面的线性方程组: $$ \begin{cases} 2x+y+z=5 \\ 4x+6y+2z=18 \\ -2x+7y+2z=7 \end{cases} $$ 可以使用以下 MATLAB 代码求解: ``` A = [2 1 1; 4 6 2; -2 7 2]; b = [5; 18; 7]; x = A \ b; ``` 运行结果为: ``` x = 1.0000 2.0000 -10.0000 ``` 即解向量为 (1, 2, -10)。 2. LU 分解法: 使用 MATLAB 的“lu”函数进行 LU 分解,然后使用“\”操作符求解线性方程组。具体的步骤如下: a. 对系数矩阵 A 进行 LU 分解,即 [L, U, P] = lu(A)。 b. 将方程组转化为 Ly = Pb 和 Ux = y 两个方程组。 c. 使用“\”操作符求解方程组,即 y = L \ (P*b),x = U \ y。 d. 得到解向量 x。 例如,对于下面的线性方程组: $$ \begin{cases} 2x+y+z=5 \\ 4x+6y+2z=18 \\ -2x+7y+2z=7 \end{cases} $$ 可以使用以下 MATLAB 代码求解: ``` A = [2 1 1; 4 6 2; -2 7 2]; b = [5; 18; 7]; [L, U, P] = lu(A); y = L \ (P * b); x = U \ y; ``` 运行结果为: ``` x = 1.0000 2.0000 -10.0000 ``` 即解向量为 (1, 2, -10)。 以上就是在 MATLAB 中使用“\”操作符进行线性方程组的直接解法,包括高斯消元法和 LU 分解法的实现步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值