超松弛迭代法求解两点边值问题(二)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超松弛迭代法求解两点边值问题(二)
摘要
本文是在matlab环境下熟悉的运用计算机编程语言并结合超松弛变量超松弛迭代法的理论基础对方程组求解。
首先,本文以微分方程边值问题为例,导出了离散化后线性方程组即稀疏线性方程组,转化对稀疏线性方程组求解问题。其次,用超松弛( SOR) 迭代法编写matlab程序,对产生的稀疏线性方程组进行迭代法求解。然后,分别改变松弛因子ω和分段数n的值,分析其收敛性和收敛速度,做出各个方面的分析和比较得到相关结论。最后,将超松弛迭代算法在计算机上运用matlab语言实现, 得出了一组与精确解较接近的数值解,并画图比较,验证逐次超松弛( SOR) 迭代法的精确性。
关键词:稀疏线性方程组;逐次超松弛迭代法;松弛因子;matlab编程
OVERRELAXATION ITERATIVE METHOD FOR
SOLVING
TWO-BOUNDARY VALUE PROBLEM(TWO)
ABSTRACT
This is familiar with the use of computer programming in matlab language and overrelaxation variable overrelaxation iteration method of the theoretical basis of solving equations.
First of all, as an example, based on differential equation boundary value problem is derived after discretization is sparse system of linear equations of linear equations, the transformation of sparse linear equations to solve the problem. Second, use write matlab program over relaxation (SOR) iteration method, the iteration method solving sparse linear equations. Then, change the values of relaxation factor and section number n omega, analyzes its convergence and convergence speed, all aspects to make the analysis and comparison of related conclusions. Finally, the over-relaxation iteration algorithm is implemented on a computer using matlab language and obtained a set of numerical solution with exact solution is close to, and draw the comparison, verification of successive overrelaxation (SOR) the accuracy of iterative method.
Key words: Sparse linear system of equations;Successive over relaxation iteration method; Relaxation factor;Matlab programming
目录
1 绪论 (1)
1.1 课题研究 (1)
2课题研究方法 (2)
2.1 超松弛法产生的背景 (2)
2.2 超松弛迭代法理论基础 (2)
3 实验过程和运行结果 (5)
4 结论 (9)
参考文献 (10)
附录 (11)
1 绪论
1.1 课题研究
考虑两点边值问题
容易知道它的精确解为
为了把微分方程离散,把区间等分,令,,得到差分方程
简化为
从而离散后得到的线性方程组的系数矩阵为
对,,,分别用、和的超松弛迭代法求解线性方程组,然后比较与精确解的误差;探讨使超松弛迭代法收敛较快的取值,对结果进行分析;探讨在迭代过程中取4位有效数字和7位有效数字有什么不同;谈谈你的体会。改变,讨论同样问题。
2 课题研究方法
2.1 超松弛法产生的背景
对从实际问题中得到维数相当大的线性代数方程组的求解仍然十分困难, 以至使人们不能在允许的时间内用直接方法得到解, 因此, 客观上要求用新的方法来解决大维数方程组的求解问题。
现有大多数迭代法不是对各类线性方程组都有收敛性, 在解题时, 要对原方程组矩阵作一根本的变换, 从而可能使条件数变坏, 也可能破坏了变换前后方程组的等价性, 以及丧
失使原方程组的对称性等。探求新的有效的解题方法依然是迫切的任务。逐次超松弛(Successive Over Relaxation)迭代法是在高斯-赛德尔(GS)迭代法基础上为提高收敛速度,采用加权平均而得到的新算法。
在求解过程中由于线性方程组的系数矩阵维数较大, 采用计算机编写算法来求解, 从而实现了对解析模型的计算机数值逼近的计算方法#本论文以逐次超松弛迭代法为主要的求解方法。
2.2 超松弛迭代法理论基础
逐次超松弛迭代法
逐次超松弛(Successive Over Relaxation)迭代法,简称SOR迭代法,它是在GS法基础上为提高收敛速度,采用加权平均而得到的新算法,设解方程(7.1.3)的GS法记为
(1)
再由与加权平均得
这里ω>0称为松弛参数,将(1)代入则得
(2)
该法称为SOR迭代法,[WTBX]ω>0称为松弛因子,当ω=1时(2)式即为高斯-赛德尔迭代法,简记GS法,将(2)写成矩阵形式,则得
即
于是得SOR迭代的矩阵表示
(3)
其中
(4)
分解后,有.
逐次超松弛迭代法的收敛性
根据迭代法收敛性定理,SOR法收敛的充分必要条件为,收敛的充分条件为,但要计算比较复杂,通常都不用此结论,而直接根据方程组的系数矩阵A判断SOR迭代收敛性,下面先给出收敛必要条件.
定理1 设,则解方程的SOR迭代法收敛的必要条件是0<ω<2.
该定理为SOR迭代法收敛的必要条件。
定理 2 若对称正定,且0<ω<2,则解Ax=b的SOR迭代法对迭代收敛.
对于SOR迭代法,松弛因子的选择对收敛速度影响较大,关于最优松弛因子研究较为复杂,且已有不少理论结果.下面只给出一种简单且便于使用的结论。
定理3 设为对称正定的三对角矩阵,是解方程的J法迭代矩阵,若,记,则SOR法的最优松弛因子为
(5)
且
(6)
根据定理,,如图1所示.由(6)可知,当ω=1,时,收敛速度为
.
说明GS法比J法快一倍.