数值分析第三章实验报告
个人主页:https://decent898.github.io/
项目地址:https://github.com/Decent898/numerical_analysis_3/
1. 实验目标
实现两种矩阵分解方法——高斯消元法和克劳特消元法。在程序中,实现了这两种消元方法来求解线性方程组。
2. 实验内容
使用两种不同的矩阵分解方法:
1. 高斯消元法:通过将矩阵化为上三角矩阵后,使用回代法求解线性方程组。
2. 克劳特消元法:将矩阵分解为上三角矩阵,后通过下式归一化,并通过回代法求解。
3. 实验过程
定义了矩阵打印函数、两种消元法的实现函数(gaussianSimplify 和 croutSimplify),求解上三角矩阵的函数 solve。主程序输入方程组的阶数和矩阵值,选择消元法进行求解。
高斯消元法的核心思想是将矩阵逐步化为上三角矩阵,通过行操作消去下三角区域的元素。实现时,程序首先将主对角线上方的元素逐行消为0,然后通过回代法逐步解出线性方程组的解。
将矩阵分解为上三角矩阵,在高斯消元法基础上后通过l系数归一化,并通过回代法求解。
solve 函数基于上三角矩阵的回代求解过程,从最后一个方程向前解出所有变量。
4. 输入
- 方程组的阶数 N。
- 增广矩阵的系数,每行系数以空格分隔。
- 选择消元法:
- 1:高斯消元法
- 2:克劳特消元法
5. 输出
- 初始矩阵。
- 上三角化简后矩阵 U 和下三角系数矩阵 L。
- 线性方程组的解。
图:求解 __X __= 的解(过程是动态的,注意看)
6. 实验分析
- __高斯消元法__:通过行消元,逐步将矩阵化为上三角形式,再通过回代法求出方程的解。此方法实现简单,但在上三角矩阵求解过程中运算量较大。
- __克劳特消元法__:通过分解矩阵为下三角和上三角两个矩阵,再结合回代法求解。该方法相对高斯消元法具有更多的数值稳定性,但实现稍微复杂一些。
- __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 进行许可。
评论