欢迎来到天天文库
浏览记录
ID:55121738
大小:355.76 KB
页数:6页
时间:2020-05-10
《数值分析大作业 超松弛迭代法如何选取最佳松弛因子.pdf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、超松弛迭代法如何选取最佳松弛因子船建学院B1301095wj一、课题背景逐次超松弛迭代法是Gauss-Seidel方法的一种加速方法,是解大型稀疏矩阵方程组的有效方法之一,它具有计算公式简单,程序设计容易,占用计算机内存较少等优点,但需要选择好的加速因子(即最佳松弛因子)。最佳松弛因子ω的确定是数值代数中的一个理论难题,对于不同的矩阵,其最佳松弛因子往往相差很大,没有统一的计算公式来确定ω。由于对称正定矩阵sor方法收敛的充分必要条件为w在0到2之间,故利用对称正定矩阵一定收敛的性质,本文提供一种针对于系数矩阵为对称正定矩阵时,如何选取合适的最佳松弛
2、因子的方法。二、课题研究流程图三、SOR迭代公式逐次超松弛(SuccessiveOverRelaxation)迭代法,简称SOR迭代法,它是在GS法基础上为提高收敛速度,采用加权平均而得到的新算法,设解方程的GS法记为(1)再由与加权平均得这里ω>0称为松弛参数,将(1)式代入则得(2)称为SOR迭代法,[WTBX]ω>0称为松弛因子,当ω=1时(2)式即为GS法,将(2)式写成矩阵形式,则得即于是得SOR迭代的矩阵表示(3)四、Matlab程序%sor法确定对称正定矩阵的最佳松弛因子w%clc;clear;n=100;%矩阵的阶数%fornum=1
3、:100X=diag(rand(n,1));U=orth(rand(n,n)-0.5);a=U'*X*U;%以上是利用随机对角矩阵和随机正交矩阵,产生随机的对称正定矩阵,正交变化不改变特征值%L=zeros(n,n);U=zeros(n,n);%分配L和U的内存空间%step=0.02;%定义w的计算精度%fork=1:(2/step)%由于对称正定矩阵sor方法收敛的充分必要条件为w在0到2之间%w=(k-1)*step;fori=1:n%一个总的for循环给三个矩阵赋值D-L-U=A,%forj=1:i-1L(i,j)=-a(i,j);%L矩阵的
4、赋值%endforj=i+1:nU(i,j)=-a(i,j);%U矩阵的赋值%endD(i,i)=a(i,i);%D矩阵的赋值%endH=inv(D-w*L)*((1-w)*D+w*U);%sor方法的核心,H矩阵为迭代矩阵%p(k)=max(abs(eig(H)));%利用此函数求矩阵的谱半径%endk_min=find(p==min(p));%find函数寻找不同的w中谱半径的最小值,即寻找收敛最快的w%w_min(num)=(k_min-1)*step;%由最小值的序号得到最优的w%endhist(w_min,100)%对数量足够多的随机对称正
5、定矩阵做频率统计,w划分100份,做出统计图%mean(w_min)%对不同矩阵的最小谱半径所对应的w对平均统计%五、结果对于不同阶数,计算得到的最佳收敛因子w不同,大致是随阶数增大而增大。对不同阶数对最佳收敛因子w的平均值统计,做出的表格,如下表所示:n阶数3阶4阶5阶6阶7阶8阶9阶10阶最佳收敛因子w1.101.171.201.231.261.281.311.32n阶数15阶20阶25阶50阶75阶100阶最佳收敛因子w1.391.431.471.621.651.68(注:由于本人电脑运行速度有限以及学习能力和精力有限,只能算到100阶,而且在
6、25阶以后都采用计算100个矩阵,误差会比较大。)图1、不同阶数下的最佳收敛因子w的取值图分析:(1)最佳收敛因子w随着n阶数增大而增加;(2)、当n比较小时最佳收敛因子w在1附近,而且增加很快;当n很大时,最佳收敛因子向2的方向发展,并逐渐收敛。图2、N=4时最佳松弛因子的频率统计图图3、N=5时最佳松弛因子的频率统计图图4、N=10时最佳松弛因子的频率统计图图5、N=25时最佳松弛因子的频率统计图图6、N=50时最佳松弛因子的频率统计图图7、N=100时最佳松弛因子的频率统计图六、总结与展望本文从研究如何确定对称正定矩阵sor迭代法的最佳松弛因子
7、入手,由matlab构造函数产生随机对称正定矩阵,取n从3到100,计算出各个最佳松弛因子的平均值,然后做出统计表格和发展趋势曲线,由分析可得n越大最佳松弛因子也越大,但增长速度也变慢,最后会收敛到一个数。可以对其他特殊的矩阵进行确定sor方法最佳松弛因子的研究工作,对工程上快速迭代出计算结果有重要研究价值,同时对n阶数很大的矩阵进一步计算确定其最佳松弛因子,观察其收敛性。本文为非数学系研究僧撰写,数学系路过的大神请轻喷!(wujun)
此文档下载收益归作者所有