实验一线性方程组迭代法实验.docx
- 文档编号:29441904
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:12
- 大小:113.69KB
实验一线性方程组迭代法实验.docx
《实验一线性方程组迭代法实验.docx》由会员分享,可在线阅读,更多相关《实验一线性方程组迭代法实验.docx(12页珍藏版)》请在冰豆网上搜索。
实验一线性方程组迭代法实验
验一线性方程组迭代法实验
实验一线性方程组迭代法实验
一、实验目的
1.掌握用迭代法求解线性方程组的基本思想和计算步骤;
2.能熟练地写出Jacobi迭代法的迭代格式的分量形式,并能比较它们各自的特点及误差估计;
3.理解迭代法的基本原理及特点,并掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代格式的分量形式、矩阵形式及其各自的特点;
4.掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代算法的MATLAB程序实现方法,及了解松弛因子对SOR迭代的影响;
5.用SOR迭代法求解线性方程组时,超松弛因子
的取值大小会对方程组的解造成影响,目的就是能够探索超松弛因子
怎样对解造成影响,通过这个实验我们可以了解
的大致取值范围。
二、实验题目
1、迭代法的收敛速度
用迭代法分别对n=20,n=200解方程组Ax=b,其中
(1)选取不同的初值x0和不同的右端向量b,给定迭代误差,用两种迭代法计算,观测得到的迭代向量并分析计算结果给出结论;
(2)取定初值x0和右端向量b,给定迭代误差,将A的主对角元成倍放大,其余元素不变,用Jacobi迭代法计算多次,比较收敛速度,分析计算结果并给出结论。
2、SOR迭代法松弛因子的选取
(1)给定迭代误差,选取不同的超松弛因子,从1.00到2.00,观察不同的松弛因子对解得影响。
然后利用雅可比迭代求的的解与它们比较;
(2)给定迭代误差,选取不同的低松弛因子,从1.00到2.00,观察不同的松弛因子对解得影响。
然后利用雅可比迭代求的的解与它们比较。
三、实验原理
1、迭代法的收敛速度
运用了Jacobi迭代,Gauss-Seidel迭代
1)Jacobi迭代算法:
1.取初始点x(0),精度要求ε,最大迭代次数N,置k:
=0;
2.由
,计算出x(k+1);
3.若
则停算,输出x(k+1)作为方程组的近似解;
4.若k=N,则停算,输出迭代失败信息;否则置k:
=k+1,转步2。
2)Gauss-Seidel迭代算法:
1.输入矩阵A,右端向量b,初始点x(0),精度要求ε,最大迭代次数N,置k:
=0;
2.计算
3.若
,则停算,输出x作为方程组的近似解;
4.若k=N,则停算,输出迭代失败信息;否则置x(0):
=x,k:
=k+1,转步骤2。
2、SOR迭代法松弛因子的选取
(1)逐次超松弛迭代法是Gauss-Seidel迭代法的加速。
Gauss-Seidel迭代格式为:
X^(k+1)=D^-1*L*x^(k+1)+D^-1*U*x^(k)+D^-1*b
(2)SOR迭代格式为
X^(k+1)=(I-wD^-1*L)^-1*[(1-w)I+wD^-1*U]*x^(k)+w(I-wD^-1*L)^-1*D^-1*b
其中,w叫做松弛因子,当w>1时叫超松弛,当1>w>0时叫低松弛。
W=1是Gauss-Seidel迭代法;
(3)SOR迭代法的算法:
输入矩阵A,向量b,初始点x^(0),精确度,最大迭代次数N,松弛因子的选取;进行迭代;判断迭代的情况。
四、实验内容
1、迭代法的收敛速度
1.1实验步骤:
(1)打开matlab软件,新建一个M文件,编写程序(如下),运行程序,记录结果;
(2)把程序中x0=ones(n,1)改为x0=eye(n,1),运行程序,记录结果;
(3)把程序中A(i,i)=m改为A(i,i)=2*m,注释掉x1=majacobi(A,b);x1'后面的部分,运行程序,记录结果;
(4)仿照(3)再把主对角元成倍放大,运行程序,记录结果。
1.2实验程序:
clc
n=20;
A=zeros(n);
m=4;
fori=1:
n
A(i,i)=m;
end
fori=1:
n-1
A(i,i+1)=-1/3;
A(i+1,i)=-1/3;
end
fori=1:
n-2
A(i,i+2)=-1/5;
A(i+2,i)=-1/5;
end
x0=ones(n,1);
b=A*x0;
x1=majacobi(A,b);x1'
x2=maseidel(A,b);x2'
norm(x1-x2)
1.3实验设备:
matlab软件。
2、SOR迭代法松弛因子的选取
2.1.实验步骤:
(1)数据准备:
A=12*eye(200,200);
fori=1:
199
A(i,i+1)=-2;
A(i+1,i)=-2;
end
forj=1:
198
A(j,j+2)=1;
A(j+2,j)=1;
end
b=5*ones(200,1);
(2)给定迭代误差1e-6,取
=1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70,1.80,1.90,
1.91,1.92,1.95,1.97,1.98,1.99,2.00,代入x=masor(A,b,
),x20=majacobi(A,b)
并利用norm(x-x20)分别分析与雅可比迭代求的解的误差;
(3)给定迭代误差1e-6,取
=0.02,0.03,0.040.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,
0.90,0.97.0.98,0.99,代入x=masor(A,b,
),x20=majacobi(A,b)并利用norm(x-x20)
分别分析与雅可比迭代求的解的误差。
五、实验结果
1、迭代法的收敛速度
(1)对于n=20时:
n=20
Columns1through12
4.0000-0.3333-0.2000000000000
-0.33334.0000-0.3333-0.200000000000
-0.2000-0.33334.0000-0.3333-0.20000000000
0-0.2000-0.33334.0000-0.3333-0.2000000000
00-0.2000-0.33334.0000-0.3333-0.200000000
000-0.2000-0.33334.0000-0.3333-0.20000000
0000-0.2000-0.33334.0000-0.3333-0.2000000
00000-0.2000-0.33334.0000-0.3333-0.200000
000000-0.2000-0.33334.0000-0.3333-0.20000
0000000-0.2000-0.33334.0000-0.3333-0.2000
00000000-0.2000-0.33334.0000-0.3333
000000000-0.2000-0.33334.0000
0000000000-0.2000-0.3333
00000000000-0.2000
000000000000
000000000000
000000000000
000000000000
000000000000
000000000000
Columns13through20
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
-0.20000000000
-0.3333-0.2000000000
4.0000-0.3333-0.200000000
-0.33334.0000-0.3333-0.20000000
-0.2000-0.33334.0000-0.3333-0.2000000
0-0.2000-0.33334.0000-0.3333-0.200000
00-0.2000-0.33334.0000-0.3333-0.20000
000-0.2000-0.33334.0000-0.3333-0.2000
0000-0.2000-0.33334.0000-0.3333
00000-0.2000-0.33334.0000
k=11
x1=1.0000
……
1.0000//有20个1.0000
k=8
x2=1.0000
……
1.0000//有20个1.0000
ans=3.3039e-007
当n=200时:
A由于阶数太大省略;
k=11
x1=1.0000
……
1.0000//有200个1.0000
k=8
x2=1.0000
……
1.0000//有200个1.0000
ans=1.1368e-006
(2)k=4
x1=1.0000
……
1.0000(20阶)
k=4
x2=1.0000
……
1.0000(20阶)
ans=4.8999e-008
2、SOR迭代法松弛因子的选取
表1-1
>1的情况
k
Norm(x-x20)
1.00
8
9.7346e-007
1.10
10
9.6821e-007
1.20
12
1.0307e-006
1.30
16
1.0200e-006
1.40
20
1.1434e-006
1.50
26
1.2691e-006
1.60
36
1.2272e-006
1.70
51
1.4364e-006
1.80
83
1.4657e-006
1.90
177
1.7205e-006
1.91
198
1.7542e-006
1.92
224
2.2548e-006
1.95
321
1.5060e-006
1.97
471
1.8146e-006
1.98
>500
1.99
>500
表1-2
<1的情况
k
Norm(x-x20)
0.00
0.02
>500
0.03
386
3.8618e-004
0.04
297
2.8217e-004
0.10
126
1.0286e-004
0.20
64
4.0889e-005
0.30
42
2.1010e-005
0,40
30
1.4555e-005
0.50
23
8.1655e-006
0.60
18
5.0040e-006
0.70
14
3.7920e-006
0.80
11
2.3675e-006
0.90
9
1.0772e-006
0.97
8
9.7786e-007
0.98
8
9.7481e-007
0.99
8
9.7361e-007
六、实验结果分析
1、迭代法的收敛速度的实验
结果分析:
比较实验结果可知,选取不同的初值x0和不同的右端向量b,所求得的结果也会不同,Jacobi迭代和Seidel迭代的误差也会随之改变,说明初值对实验结果有影响,由迭代误差可知Seidel迭代优于Jacobi迭代。
再比较实验结果,由k=6与k=5可知,主对角元越大,Jacobi迭代收敛越快。
2、SOR迭代法松弛因子的选取的实验
结果分析:
(1)由表1-1可以看出,在其它条件不变的情况下,改变
的值,会改变解得值,且
越接近于1,误差越小,越接近于2,误差越大,而且当
的值越大,它的迭代次数越大,就本例而言,当
为1.98时,就因迭代次数过大,跳出程序;
(2)由表1-2可以看出,在其它条件不变的情况下,改变
的值,会改变解得值,且
越接近于1,误差越小,越接近于0,误差越大,且迭代次数也越大,就本例而言,当
为0.02时,就因迭代次数过大,跳出程序,且
不能取值为0;
(3)综上
(1)
(2)所述,
的取值范围为0<
<2,且越接近1,误差值越小,迭代次数也越小。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 线性方程组 迭代法