matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

4.4.2 超松弛迭代法收敛性及其MATLAB程序

4.4.2  超松弛迭代法收敛性及其MATLAB程序

用谱半径判别超松弛迭代法产生的迭代序列的敛散性的MATLAB主程序

function H=ddpbj(A,om)

D=diag(diag(A));U=-triu(A,1);

L=-tril(A,-1); iD=inv(D-om*L);

B2=iD*(om*U+(1-om)*D);

H=eig(B2);mH=norm(H,inf);

if mH>=1

disp('请注意:因为谱半径不小于1,所以超松弛迭代序列发散,谱半径mH和B的所有的特征值H如下:')

else

disp('请注意:因为谱半径小于1,所以超松弛迭代序列收敛,谱半径mH和B的所有的特征值H如下:')

end

mH

 

例4.4.1  当取=1.15,5时,判别用超松弛迭代法解下列方程组产生的迭代序列是否收敛?

解 (1)当取=1.15时,首先保存名为ddpbj.m的M文件,然后在MATLAB工作窗口输入程序

>> A=[5 1 -1 -2;2 8 1 3;1 -2 -4 -1;-1 3 2 7]; H=ddpbj(A,1.15)

运行后输出结果

请注意:因为谱半径小于1,所以超松弛迭代序列收敛,谱半径mH和B的所有的特征值H如下:

mH =

0.1596

H =

0.1049 + 0.1203i 0.1049 - 0.1203i -0.1295 + 0.0556i -0.1295 - 0.0556i

(2)当取=5时,然后在MATLAB工作窗口输入程序

>> H=ddpbj(A, 5)

运行后输出结果

请注意:因为谱半径不小于1,所以超松弛迭代序列发散,谱半径mH和B的所有的特征值H如下:

mH =

14.1082

H =

  -14.1082    -2.5107   0.5996 + 2.6206i   0.5996 - 2.6206i

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3040402.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1