- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
超松弛迭代法方法的应用
CENTRAL SOUTH UNIVERSITY
数值分析实验报告
超松弛迭代法的应用
一、问题背景
在科学计算和工程设计中,经常会遇到求解线性方程组的问题,而快速精确求解一直是我们追求的目标,随着计算机技术的发展,我们可以借助计算机使用很多方法来帮助求解,如直接法等,但通常都只能适用于经过有限步运算能求得解的方程,对于方程数和未知数都很多的方程组,计算量往往相当大,因而人们在寻求其他求解方法的时候,发现了迭代法的巨大优点,从最初的Jacobi迭代法到Gauss-Seidel迭代法,计算过程变得快速简洁。在Guass-Seidel迭代法的基础上,人们发现迭代—松弛—再迭代的方法,能更加减少计算步骤,极大地缩短计算时间,在此基础上,人们进一步发现超松弛迭代法的收敛速度最快,而且超松弛迭代法具有计算公式简单,编制程序容易等突出优点。通过选择合适恰当的松弛因子能直接控制算法的收敛性和收敛速度。
二、数学模型
一般而言,因Jacobi迭代收敛速度不够快,所以在工程中用的不是太多。在 Jacobi迭代手链速度很慢的情况下,通常Guass-Seidel也不会很快。因此,可以对Guass-Seidel做修改,提高收敛速度,这就是这里要介绍的超松弛迭代法。
三、算法及流程
在Guass-Seidel中迭代格式为
可以将迭代格式改写为
其中
如果在修正项上加上一个参数,便使得松弛迭代法公式
上式可以改写为
当时候,就退化为Guass-Seidel迭代法;时,称为逐次超松弛迭代法;时,称为逐次低松弛迭代法。通常,统称为逐次松弛迭代法。
MATLAB实现代码:
打开编辑器,输入以下语句并保存为Fsor.m文件。
function[x,k]=Fsor(A,b,x0,w,tol)
max=300 ;
if(w=0||w =2)
error;
return ;
end
D=diag(diag(A));
L=-tril(A,-1);
U=-triu(A,1);
B=inv(D-L*w)*((1-w)*D+w*U);
f=w*inv((D-L*w))*b;
x=B*x0+f;
k=1;
while norm(x-x0)=tol
x0=x;
x=B*x0+f;
k=k+1;
if(k=max)
disp(迭代次数过多,SOR方法可能不收敛);
return;
end
[k,x]
end
四、计算结果及分析
用超松弛迭代法,求解方程组
要求计算精度为
打开编辑器输入以下命令并以文件名sor.m保存文件。
a=[5 -1 -1 -1
-1 10 -1 -1
-1 -1 5 -1
-1 -1 -1 10];
b=[-4 12 8 34];
x0=[1 1 1 1];
[x,k]=Fsor1(a,b,x0,1.2,1e-7)
运行程序,在命令窗口输入
sor
运行得到:
x =
1.000000009833877
1.999999995028638
3.000000000713360
4.000000002119737
k =
14
计算结果表明迭代到14次时,已经满足精度。为了进一步分析迭代过程中的收敛情况,下面给出的是每一步的迭代值:
ans =
Columns 1 through 4
2.000000000000000 1.020693606400000 2.052126035968000 3.240994000568320
Column 5
3.985238565152359
ans =
Columns 1 through 4
3.000000000000000 1.062667343125283 2.024242781867915 2.969116885521270
Column 5
4.009675528231265
ans =
Columns 1 through 4
4.000000000000000 0.988194978323851 1.991189930675583 3.003551127831114
Column 5
3.996017218773414
ans =
文档评论(0)