数值分析课程设计比较各种迭代收敛速度模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析课程设计

比较各种迭代收敛速度

分别用雅可比迭代法(J)、 高斯—塞德尔迭代法(G-S)、 超松弛迭代

法(SOR)计算方程组=A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----410141014⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321x x x =⎥⎥

⎥⎦

⎢⎢⎢⎣⎡10810 并比较哪一种迭代方法收敛的速度更快 方程真实值计算:

A=[4-10;-14-1;0-14];b=[10810]'; jX=A\b 得到结果:

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)

结果见表一

高斯—塞德尔迭代:

首先编写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.42 853.42853.4286];

x2=[2.00003.25003.50003.65633.68753.70703.71093.71343.71393.71 423.71423.7143];

x3=[2.50003.00003.31253.37503.41413.42193.42683.42773.42833.42 853.42853.4286];

formatlong

%循环求二范数的平方

fori=1:12

t(i)=(x1(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.57813.69733.71223.71403.71433.7143];

x3=[3.15633.39453.42433.42803.42853.42863.4286];

formatlong

%循环求二范数的平方

fori=1:6

s(i)=(x1(i)-3.4286)^2+(x2(i)-3.7143)^2+(x3(i)-3.4286)^2;

sqrt(s(i))

end

结果见表一

表一

注: MATLAB计算的误差为16位有效数字, 由于表的位置有限, 这里只取8位有效数字

画图比较:

画图函数:

k=1:12;

x=[2.15949540.76352500.26996830.09544590.03374520.01196120.00 424740.00155880.00058310.00017320.00017320];%J的迭代误差plot(k,x,'b')

holdon

y=[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%画出网格

结论:

从数据图表可观察到: 雅可比的迭代次数明显比高斯塞德尔的迭代次数要多,因此高斯塞德尔比雅可比迭代的收敛速度快.

G-S迭代与J迭代在本质上没有必然的联系, 求解方程组时, J 迭代的速度与G-S迭代收敛的速度没有确定的关系, 但在此题中, J 迭代比G-S迭代的收敛速度慢。

超松弛迭代法最佳松弛因子选取

编写文件名为sor.m的M文件(见附录三)

得到结果如下表(全部结果的部分, 包含最少迭代次数的松弛因子): D=

2.905

4.000

相关文档
最新文档