您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页MATLAB实现迭代法最佳松弛因子的选取

MATLAB实现迭代法最佳松弛因子的选取

来源:欧得旅游网
迭代法最佳松弛因子的选取

一、问题提出:

430,b=[24;30;-24],用SOR迭代求解。并选出最佳松弛341针对矩阵A014因子。理论分析的图像。

221.24。做出(L)关于函数

11(J)110.625二、理论基础

选取矩阵M为带参数的下三角矩阵M其中w>0为可选择的松弛因子. 于是,由

(0)x(初始向量) (k=0,1,…,)可构造一个迭代法,其迭代矩阵(k1)(k)Bxfx1(DwL), w为LwIw(DwL)1A

=(DwL)1((1w)DwU).

从而得到解Ax=b的主次逐次超松弛迭代法.

解Ax=b的SOR方法为

(0)x(初始向量) (k=0,1,…,) (1) (k1)(k)Bxfx其中

Lw=(DwL)1((1w)DwU).(2) fw(DwL)1b

下面给出解Ax=b的SOR迭代法的分量计算公式.记 x(k)(x1,...,xi由(1)式可得

(DwL)x(k1)((1w)DwU)x(k)wb, Dx(k1)Dx(k)w(bLx(k1)Ux(k)Dx(k)). (3) 由此,得到解Ax=b的SOR方法的计算公式

(k)(k),...,xn)T,

(k)x(0)(x1(0),...,xn(0))T,i1nx(k1)x(k)w(baxk1axiiiijjijjj1ji(i1,2,...,n;k0,1),.w为松弛因子(k))/aii (4)

x(0)(x1(0),...,xn(0))T,(k1)(k)xixi,xii1n(k1)(k).xiw(biaijxjaijxj/aii) (5)

j1ji(i1,2,...,n;k0,1,...),w为松弛因子.※ 若要求选取出最佳松弛因子,则有两种方法:

⑴、 给出w的最佳范围,当取不同的w值时,会求出不同的谱半径R的值,

然后判断出值最小的谱半径。那么这个最小的谱半径所对应的w,即为所求最佳松弛因子。

⑵、 给出w的最佳范围,当取不同的w值时,由(2)式进行迭代,看它们在

相同精度范围内的迭代次数,找出迭代次数最低的那一个,其所应用的w即为最佳松弛因子。

三、实验内容:

松弛因子、谱半径和迭代次数的关系: w R h w R h w R h w R h 1 0.6250 31 1.08 0.5575 25 1.16 0.4661 20 1.24 0.2560 14 1.01 0.6174 30 1.09 0.78 25 1.17 0.4516 19 1.25 0.2500 15 1.02 0.6096 30 1.10 0.5377 24 1.18 0.4359 19 1.26 0.2600 15 1.03 0.6016 29 1.11 0.5271 23 1.19 0.41 18 1.27 0.2700 15 1.04 0.5933 28 1.12 0.5161 23 1.20 0.4000 17 1.28 0.2800 15 1.04 0.5848 27 1.13 0.5046 22 1.21 0.3786 16 1.29 0.2900 15 1.06 0.5760 26 1.14 0.4924 21 1.22 0.3532 15 1.30 0.3000 15 1.07 0.5669 26 1.15 0.4797 21 1.23 0.3205 15 从表格中可以看出,迭代次数随着松弛因子的增长而呈现先减后增的趋势,当谱半径最小时,其迭代次数最小。则表示出谱半径最小时,其松弛因子为最佳松弛因子。

w和R的关系图如下:

0.650.60.550.50.450.40.350.30.250.211.051.11.151.21.251.31.351.4

图像中,其横坐标表示松弛因子,纵坐标表示谱半径。从图中可以看出,随着松弛因子的增长,谱半径先是呈递减趋势,当达到最小值1.24时,呈上升趋势。

四、结果分析:

通过这次的实验,我们知道了关于怎样选取最佳松弛因子的方法和理论。 了解了最佳松弛因子与系数矩阵谱半径之间的关系,即谱半径越小那么其所对应的松弛因子越佳,且迭代次数越小。所得结果与理论结果相符,即最佳松弛因子是1.24,表格及图象显示出,越接近理论值,误差越小!

参考文献

1.数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。 2.数值方法,关治,陆金甫,2006,清华大学出版社。

3.数值分析与实验学习指导,蔡大用,2001,清华大学出版社。 4.数值分析与实验,薛毅,2005,北京工业大学出版社。

附录:

程序如下:

A=[4,3,0;3,4,-1;0,-1,4]; %系数矩阵% b=[24;30;-24];

D=diag(diag(A)); %A的对角矩阵% U=-triu(A,1) ; %A上三角矩阵% L=-tril(A,-1); %A的下三角矩阵%

m=[];t=[]; %创建两个空矩阵分别存放相对应的谱半径和记录迭代次数% for w=1:0.01:1.3; %取w的值% q=(D-w*L);

p=inv(q); %求q的逆%

lw=p*((1-w)*D+w*U); %求得迭代矩阵% V=eig(lw); %计算迭代矩阵的特征向量% R=max(abs(V)); %找出绝对值最大的谱半径% m=[m,R];

plot(w,R,'o'); %画出w和R的关系图% hold on

f=(D-w*L)\\b*w;

x0=[0;0;0]; %取迭代初值% y=lw*x0+f; n=1;

while norm(y-x0)>=1.0e-6 %迭代条件% f=(D-w*L)\\b*w; x0=y;

y=lw*x0+f; n=n+1; end t=[t,n]; end

[h,k]=min(t); %h记录最小的迭代次数,k记录第几个数最小% 求解过程

g=1.0+(k-1)*0.01; f=(D-g*L)\\b*g; y=lw*x0+f;n=1;

while norm(y-x0)>=1.0e-6; f=(D-g*L)\\b*g; x0=y;

y=lw*x0+f; n=n+1; end

y,h,g %y是解g是最佳松弛因子%

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务