实验一线性方程组迭代法实验.doc

上传人:F****n 文档编号:101729994 上传时间:2019-09-29 格式:DOC 页数:8 大小:117KB
返回 下载 相关 举报
实验一线性方程组迭代法实验.doc_第1页
第1页 / 共8页
实验一线性方程组迭代法实验.doc_第2页
第2页 / 共8页
实验一线性方程组迭代法实验.doc_第3页
第3页 / 共8页
实验一线性方程组迭代法实验.doc_第4页
第4页 / 共8页
实验一线性方程组迭代法实验.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《实验一线性方程组迭代法实验.doc》由会员分享,可在线阅读,更多相关《实验一线性方程组迭代法实验.doc(8页珍藏版)》请在金锄头文库上搜索。

1、实验一 线性方程组迭代法实验一、 实验目的 1掌握用迭代法求解线性方程组的基本思想和计算步骤;2能熟练地写出Jacobi迭代法的迭代格式的分量形式,并能比较它们各自的特点及误差估计;3.理解迭代法的基本原理及特点,并掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代格式的分量形式、矩阵形式及其各自的特点;4.掌握Jacobi迭代Gauss-Seidel迭代和SOR迭代算法的MATLAB程序实现方法,及了解松弛因子对SOR迭代的影响;5.用SOR迭代法求解线性方程组时,超松弛因子的取值大小会对方程组的解造成影响,目的就是能够探索超松弛因子怎样对解造成影响,通过这个实验我们可以了解的大致

2、取值范围。二、 实验题目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,观

3、察不同的松弛因子对解得影响。然后利用雅可比迭代求的的解与它们比较。三、 实验原理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,则停算,输出迭代失败

4、信息;否则置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-w D-1*L)-1*(1-w)I+w D-1*U*x(k)+w(I-w D-1*L)-1* D-1*b其中,w叫做松弛因子,当w1时叫超松弛,当1w0时叫低松弛。W=1是Gauss-Seidel迭代法;(3)SOR迭代法的算法:输入矩阵A,向量b,初始点x(0),精确度,最大迭代次数N,松弛因子的选取

5、;进行迭代;判断迭代的情况。四、 实验内容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实验程序:clcn=20;A=zeros(n);m=4;for i=1:n A(i,i)=m;endfor i=1:n-1 A(i,i+1)=-1/3; A(

6、i+1,i)=-1/3;endfor i=1:n-2 A(i,i+2)=-1/5; A(i+2,i)=-1/5;endx0=ones(n,1);b=A*x0;x1=majacobi(A,b);x1x2=maseidel(A,b);x2norm(x1-x2)1.3实验设备: matlab软件。2、SOR迭代法松弛因子的选取2.1实验步骤:(1) 数据准备:A=12*eye(200,200);for i=1:199 A(i,i+1)=-2; A(i+1,i)=-2;endfor j=1:198 A(j,j+2)=1; A(j+2,j)=1;endb=5*ones(200,1);(2)给定迭代误差1

7、e-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)分别分析与雅

8、可比迭代求的解的误差。五、 实验结果1、迭代法的收敛速度(1)对于n=20时:n = 20Columns 1 through 12 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 0 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.20

9、00 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 -0.3333 -0.2000 0 0 0 0 0 0 0 0 -0.200

10、0 -0.3333 4.0000 -0.3333 0 0 0 0 0 0 0 0 0 -0.2000 -0.3333 4.0000 0 0 0 0 0 0 0 0 0 0 -0.2000 -0.3333 0 0 0 0 0 0 0 0 0 0 0 -0.2000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0Columns 13 through 20 0 0 0 0 0 0 0 0 0 0 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号