- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计题目: 超松弛迭代法解线性方程组
摘要
本文是在matlab环境下熟悉的运用计算机编程语言并结合超松弛变量超松弛迭代法ω和分段数n的值,分析其收敛性和收敛速度,做出各个方面的分析和比较得到相关结论。最后,将超松弛迭代算法在计算机上运用matlab语言实现, 得出了一组与精确解较接近的数值解,并画图比较,验证逐次超松弛( SOR) 迭代法的精确性。
关键词 : 稀疏线性方程组 逐次超松弛迭代法 松弛因子
matlab编程
问题提出
考虑两点边值问题
容易知道它的精确解为
为了把微分方程离散,把区间等分,令,,得到差分方程
简化为
从而离散后得到的线性方程组的系数矩阵为
对,,,分别用、和的超松弛迭代法求解线性方程组,要求有4位有效数字,然后比较与精确解的误差,探讨使超松弛迭代法收敛较快的取值,对结果进行分析。改变,讨论同样问题。
二、超松弛迭代法产生的背景
对从实际问题中得到维数相当大的线性代数方程组的求解仍然十分困难, 以至使人们不能在允许的时间内用直接方法得到解, 因此, 客观上要求用新的方法来解决大维数方程组的求解问题。
现有大多数迭代法不是对各类线性方程组都有收敛性, 在解题时, 要对原方程组矩阵作一根本的变换, 从而可能使条件数变坏, 也可能破坏了变换前后方程组的等价性, 以及丧失使原方程组的对称性等。探求新的有效的解题方法依然是迫切的任务。逐次超松弛(Successive Over Relaxation)迭代法是在GS)迭代法基础上为提高收敛速度,采用加权平均而得到的新算法逐次超松弛(Successive Over Relaxation)迭代法,简称SOR迭代法,它是在GS法基础上为提高收敛速度,采用加权平均而得到的新算法,设解方程(7.1.3)的GS法记为 (1)再由与加权平均得 这里ω>0称为松弛参数,将()代入则得 ()该法称为SOR迭代法,[WTBX]ω>0称为松弛因子,当ω=1时()式即为法,将(写成矩阵形式,则得 即 于是得SOR迭代的矩阵表示 (3)其中 (4) 分解,有.
逐次超松弛迭代法的收敛性
根据迭代法收敛性定理,SOR法收敛的充分必要条件为,收敛的充分条件为,但要计算比较复杂,通常都不用此结论,而直接根据方程组的系数矩阵A判断SOR迭代收敛性,下面先给出收敛必要条件.
定理1 设,则解方程的SOR迭代法收敛的必要条件是0<ω<2.
定理 2 若对称正定,且0<ω<2,则解Ax=b的SOR迭代法对迭代收敛.
对于SOR迭代法,松弛因子的选择对收敛速度影响较大,关于最优松弛因子研究较为复杂,且已有不少理论结果.下面只给出一种简单且便于使用的结论定理3 设为对称正定的三对角矩阵,是解方程的J法迭代矩阵,若,记,则SOR法的最优松弛因子为 (5)且 () 根据定理,,如图1所示.由()可知,当ω=1,时,收敛速度为 . 说明GS法比J法快一倍.
图1
,如果:
A为严格对角占优矩阵;(2)0ω=1.
则解的SOR迭代法收敛。
实验内容
1.自定义函数 sor(A, b, nm, e, w),以实现SOR方法求解线性方程组AX=B,其中
A——系数矩阵;
b——常数列向量;
w——松弛因子;
nm——迭代的最大次数
e——达到的精度上限
由离散后的差分方程:
得到的线性方程组的系数矩阵为
常数列向量b=
其中,,, 图1 计算值与精确值图形比较
从本组的实验中,可以看出w 值的取定十分重要,它对求解的迭代次数影响十分明显。一个不好的w 值甚至会导致迭代超过10000次仍未能求得需要精度的值。
由表1可得,当=1.9时SOR迭代法收敛速度最快,误差最小。
取=1.9,nm=30000,等各个因子相同时,当分段点n取不同值时,对应的迭代次数、与精确解的误差如下表2。
区间等分数n
松弛因子 =1.9 迭代次数 误差 120 416 0.2477 150 416 0.2477 200 416 0.2477 250 416 0.2477 满足误差的迭代次数
从本组的实验中,当其他各个因子取适当值时,改变分段数时,对结果没有影响。
图3 精确图形
由图3可得,当各个参数取值适当时
文档评论(0)