更新时间:05-02 (小熊熊)提供原创文章
摘要:在实际的生产生活中,很多问题的求解可以转化为解一个线性方程组。线性方程组的数值解法分为直接法和迭代法两大类,在参考文献【1】、【2】、【3】、【4】中均有具体介绍。直接法在假定没有舍入误差的情况下,经过有限次的运算可以求得方程组的精确解,适合用于求解低阶稠密型线性方程组。在方程组规模很大且系数矩阵的零元素较多的情况下,我们往往选择迭代法来求解。迭代法是从一个初始向量出发,按照一定的迭代格式,构造出一个趋向于真解的无穷序列,文献【5】、【6】、【7】中主要介绍了解线性方程组的一些迭代法的过程和应用。
本文主要考虑了Jacobi迭代法,Gauss-Seidel迭代法和SOR迭代法这三种比较常见的迭代法。其中,Gauss-Seidel迭代法可视为对Jacobi迭代法的一种修正,而SOR迭代法是则可视为是对Gauss-Seidel迭代法的一种加速推广。而每种迭代法都有自己的收敛条件,所以有一定的适应范围。本文首先介绍了这三种迭代方法的思想和收敛性条件,然后基于MATLAB 语言对这些方法进行了上机实现,并针对一些具体的问题进行了数值比较,从实验结果我们可以进一步明确各个方法的收敛条件和各自的特点。
关键词 线性方程组;迭代法;Jacobi方法;Gauss-Seidel方法;SOR方法;MATLAB
目录
摘要
Abstract
1绪论-1
2迭代法的一般格式-3
2.1 一些基本的定义-3
2.2 迭代法的基本思想-4
3几种常见的迭代法-5
3.1 Jacobi(雅克比)迭代法-5
3.2 Gauss-Seidel(高斯-赛德尔)迭代法-6
3.3 SOR(逐次超松弛)迭代法-7
4 迭代法收敛条件-9
5 数值实验-12
总结-17
致谢-18
参考文献-19
附录-20