《数值分析课程设计比较各种迭代收敛速度模板》由会员分享,可在线阅读,更多相关《数值分析课程设计比较各种迭代收敛速度模板(5页珍藏版)》请在金锄头文库上搜索。
1、数值分析课程设计比较各种迭代收敛速度分别用雅可比迭代法(J)、高斯一塞德尔迭代法(G-S)、超松弛迭代X101X=82X10L 3-4 -1 0法(SOR)计算方程组A= -1 4 -1 0 -1 4并比较哪一种迭代方法收敛的速度更快方程真实值计算:A=4-10;-14-1;0-14;b=10810;jX=Ab得到结果:3.42863.71433.4286雅可比迭代:首先编写jacdd.m的函数文件(见附录一)调用程序,在命令窗口分别输入如下语句:A=4-10;-14-1;0-14;b=10;8;10;X0=000;X=jacdd(A,b,X0,inf,0.00001,100)结果见表一高斯一
2、塞德尔迭代:首先编写gsdddy.m的函数文件(见附录二)调用程序,在命令窗口分别输入如下语句:A=4-10;-14-1;0-14;b=10;8;10;X0=000;X=gsdddy(A,b,X0,inf,0.00001,100)结果见表一雅可比迭代误差计算:x0=3.42863.71433.4286;%此为方程组的真实值x1=2.50003.00003.31253.37503.41413.42193.42683.42773.42833.42853.42853.4286;x2=2.00003.25003.50003.65633.68753.70703.71093.71343.71393.714
3、23.71423.7143;x3=2.50003.00003.31253.37503.41413.42193.42683.42773.42833.42853.42853.4286;formatlong%循环求二范数的平方fori=1:12t(i)=(x 1(i)-3.4286)人2+(x2 (i)-3.7143)人2+(x3 (i)-3.4286)人2;sqrt(t(i)end结果见表一高斯一塞德尔迭代误差计算:x0=3.42863.71433.4286;%此为方程组的真实值x1=2.50003.15633.39453.42433.42803.42853.4286;x2=2.62503.578
4、13.69733.71223.71403.71433.7143;x3=3.15633.39453.42433.42803.42853.42863.4286;formatlong%循环求二范数的平方fori=1:6s(i)=(x 1(i)-3.4286)人2+(x 2(i)-3.7143)人2+(x3 (i)-3.4286)人2;sqrt(s(i)end结果见表一雅可比迭代高斯一塞德尔迭代次数X1X2X3误差次数X1X2X3误差12.50002.00002.50002.159495412.50002.62503.15631.457058623.00003.25003.00000.76352502
5、3.15633.57813.39450.306366733.31253.50003.31250.269968333.39453.69733.42430.038344543.37503.65633.37500.095445943.42433.71223.42800.004822953.41413.68753.41410.033745253.42803.71403.42850.000678263.42193.70703.42190.011961263.42853.71433.42860.000099973.42683.71093.42680.004247473.42863.71433.428608
6、3.42773.71343.42770.0015588893.42833.71393.42830.00058319103.42853.71423.42850.000173210113.42853.71423.42850.000173211123.42863.71433.4286012注:MATLAB计算的误差为16位有效数字,由于表的位置有限, 这里只取8位有效数字画图比较:画图函数:k=1:12;x=2.15949540.76352500.26996830.09544590.03374520.01196120.00424740.00155880.00058310.00017320.00017
7、320;%J 的迭代误差plot(k,x,b)holdony=1.45705860.30636670.03834450.00482290.00067820.0;%G-S 的迭代误差plot(k,y,-.)legend(J迭代,G-S迭代)%画出图形,标明各曲线的含义title(误差图);%加上标题text(k(1),x (1) ,start)%注明起始和终止点text(k(11),x(11),end)xlabel(K迭代次数);%标注横,纵坐标ylabel(误差);gridon%画出网格误差图迭代日迭代B8K迭代彼数结论:从数据图表可观察到:雅可比的迭代次数明显比高斯塞德尔 的迭代次数要多,因此高斯塞德尔比雅可比迭代的收敛速度快.G-S迭代与J迭代在本质上没有必然的联系,求解方程组时,J 迭代的速度与G-S迭代收敛的速度没有确定的关系,但在此题中,J 迭代比G-S迭代的收敛速度慢。超松弛迭代法最佳松弛因子选取编写文件名为sor.m的M文件(见附录三)得到结果如下表(全部结果的部分,包含最少迭代次数的松弛因子):D=2.905