数值分析第三章实验报告

DecEric Lv2

个人主页:https://decent898.github.io/

项目地址:https://github.com/Decent898/numerical_analysis_3/

1. 实验目标

实现两种矩阵分解方法——高斯消元法和克劳特消元法。在程序中,实现了这两种消元方法来求解线性方程组。

2. 实验内容

使用两种不同的矩阵分解方法:

1. 高斯消元法:通过将矩阵化为上三角矩阵后,使用回代法求解线性方程组。

2. 克劳特消元法:将矩阵分解为上三角矩阵,后通过下式归一化,并通过回代法求解。

3. 实验过程

1. 程序结构

定义了矩阵打印函数、两种消元法的实现函数(gaussianSimplify 和 croutSimplify),求解上三角矩阵的函数 solve。主程序输入方程组的阶数和矩阵值,选择消元法进行求解。

2. 高斯消元法

高斯消元法的核心思想是将矩阵逐步化为上三角矩阵,通过行操作消去下三角区域的元素。实现时,程序首先将主对角线上方的元素逐行消为0,然后通过回代法逐步解出线性方程组的解。

3. 克劳特消元法

将矩阵分解为上三角矩阵,在高斯消元法基础上后通过l系数归一化,并通过回代法求解。

4. 求解过程

solve 函数基于上三角矩阵的回代求解过程,从最后一个方程向前解出所有变量。

4. 输入

  1. 方程组的阶数 N。
  2. 增广矩阵的系数,每行系数以空格分隔。
  3. 选择消元法:
    • 1:高斯消元法
    • 2:克劳特消元法

5. 输出

  1. 初始矩阵。
  2. 上三角化简后矩阵 U 和下三角系数矩阵 L。
  3. 线性方程组的解。

图:求解 __X __= 的解(过程是动态的,注意看)

6. 实验分析

  1. __高斯消元法__:通过行消元,逐步将矩阵化为上三角形式,再通过回代法求出方程的解。此方法实现简单,但在上三角矩阵求解过程中运算量较大。
  2. __克劳特消元法__:通过分解矩阵为下三角和上三角两个矩阵,再结合回代法求解。该方法相对高斯消元法具有更多的数值稳定性,但实现稍微复杂一些。
  3. __0输入的问题__:这类方法最大缺陷是在对角线元素存在0时会出现
  • 的情况,导致无法进行消元。

7. 实验结论

通过实验,成功实现了高斯消元法和克劳特消元法的编程实现,并通过输入不同的矩阵对这两种方法进行了求解验证。但实际情况下,主元素法和全主元法等改进算法可以避免0元素带来的问题,提高算法的稳定性。

  • 标题: 数值分析第三章实验报告
  • 作者: DecEric
  • 创建于 : 2024-10-20 22:38:03
  • 更新于 : 2024-10-20 22:38:45
  • 链接: https://redefine.ohevan.com/2024/10/20/数值分析第三章实验报告/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
数值分析第三章实验报告