试验报告:SOR迭代法matlab算法设计_第1页
试验报告:SOR迭代法matlab算法设计_第2页
试验报告:SOR迭代法matlab算法设计_第3页
试验报告:SOR迭代法matlab算法设计_第4页
试验报告:SOR迭代法matlab算法设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SO砒代法matlab算法设计、程序说明.原理逐次超松弛(Successive Over Relaxation) 迭代法,简称 SOR方法,它是在 GS法基础上为提高收敛速度,采用加权平均而得到的新算法,设求解线性代数方程组人*加的GSt记为1IA_伽啊疗*- 士加用”二12内(0针口 =(小团耳就+ 一工多一条E为)72称为SOR代法,3 0称为松弛因子,当 3=1时,(2)即为GS法,将(2)写成矩 阵形式则得Ddf+1 - (I-0)W + 码 + W11 + 5r白一血)= (1 - oj)D + aZJ13 + tit于是得SORlt代的矩阵表示x(0),初始向量X(k+1)=Lw

2、x0+f, k=0,1 其中Lw =(D-wL)-1(1-w)D+Wu) , f=w(D-wL)-1b.用途利用逐次超松弛迭代法求解线性方程组Ax=b;相较于高斯赛德尔迭代法,SOR1代法减少了计算步骤,极大地缩短计算时间,收敛速度最快。.算法公式:n,x=sor(A,b,x0,w,ero,nm)输入:A:方程组的系数矩阵b:方程组右端的列向量x0:迭代初值构成的列向量w:松弛因子(需满足0w2)ero:允许误差nm:最大迭代次数输出:x:方程组的解n:迭代次数、例程1.当 0w2 examplel.m 程序如下: clc;clear;A=-4 1 1 11 -4 1 11 1 -4 11 1

3、 -4;b=1 1 1 1;x0=0 0 0 0; ero=0.46e-5;w=1.3; nm=300;sor(A,b,x0,w,ero,nm)运行结果如下: 迭代次数为n =13方程组的解为x =-0.999999497058958 -1.000000277748038 -1.000000060743878 -0.999999790689996.当 w ?(0,2) example2.m 程序如下: clc;clear;A=-4 1 1 1 11 -4 1 1 11 1 -4 1 11 1 1 -4 11 1 1 1 -4;b=1 1 1 1 1;x0=0 0 0 0 0;ero=0.46e

4、-5;w=2;nm=300;sor(A,b,x0,w,ero,nm)运行结果如下:请重新输入松弛因子 w,满足0w2.达到最大迭代次数仍不收敛,输出警告语句及最大迭代次数后的结果example3.m程序如下:clc;clear;A=-4 1 1 1 11 -4 1 1 11 1 -4 1 11 1 1 -4 11 1 1 1 -4;b=1 1 1 1 1;x0=0 0 0 0 0;ero=0.46e-5;w=1.3;nm=1000;sor(A,b,x0,w,ero,nm)运行结果如下:在最大迭代次数内不收敛!最大迭代次数后的结果为x =1.0e+02 *-9.278551020407967-9

5、.280408163265108-9.282265306122252-9.284122448979394-9.285979591836535三、流程图输A;4方程班的盘,师阵ht生正百前肚樽向量io迭代?n惟地出的利酊量w也加国子f1声星妄西霰大速代次救输出“在最大芝代度 粉大不曜:土用易大法代决敬匕的岩果输出“请里合就人松知四,杵星QCw四、源代码function n,x=sor(A,b,x0,w,ero, nm)%SO畦代法洲途:利用逐次超松弛迭彳法求解线性方程组Ax=b;%相较于高斯赛德尔迭代法,SO迭代法减少了计算步骤,极大地缩短计算时间,收敛速度最快。懈人:%A:方程组的系数矩阵%b

6、:方程组右端的列向量%x0:迭代初值构成的列向量%亚松弛因子(需满足 0w2)%ero:允许误差nm:最大迭代次数%t出:%x:方程组的解%n:迭代次数if (w=2)disp(请重新输入松弛因子 w,满足0w2);return endn=1;D=diag(diag(A);L=-tril(A,-1);U=-triu(A,1);M=inv(D-w*L)*(1-w)*D+w*U);f=w*inv(D-w*L)*b;%迭代过程如下:%A=D-L-U,计算矩阵D %A=D-L-U,计算矩阵L %A=D-L-U,计算矩阵U %计算迭代矩阵%计算迭代公式中的常数项while n=nmx=M*x0+f;if norm(x-x0, inf )erodisp(迭代次数为);ndisp(方程组的解为);x%迭代公式%二范数小于允许误差控制迭代终止return%达到精度要求结束程序,输出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论