首页 数值分析实验报告6

数值分析实验报告6

举报
开通vip

数值分析实验报告6数值分析实验报告6 实验名称:线性方程组迭代解法 1)实验目的: 1. 熟悉Matlab编程。 2. 学习线性方程组迭代解法的程序设计算法。 2)实验题目: 第一题:研究解线性方程组Ax=b迭代法收敛速度。 A为20阶五对角距阵 31214,,//,, ,,,,,1231214/// ,, ,,,,,,141231214//// ,,A, ,, ,, ,,,,141231214////,, ,,,1412312///,, ,,,,14123//,,要求: (1)选取不同的初始向量x0 及右端向量...

数值分析实验报告6
数值分析实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 6 实验名称:线性方程组迭代解法 1)实验目的: 1. 熟悉Matlab编程。 2. 学习线性方程组迭代解法的程序设计算法。 2)实验题目: 第一题:研究解线性方程组Ax=b迭代法收敛速度。 A为20阶五对角距阵 31214,,//,, ,,,,,1231214/// ,, ,,,,,,141231214//// ,,A, ,, ,, ,,,,141231214////,, ,,,1412312///,, ,,,,14123//,,要求: (1)选取不同的初始向量x0 及右端向量b,给定迭代误差要求,用雅可比迭代和高斯- 赛德尔迭代法求解,观察得到的序列是否收敛,若收敛, 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 迭代次数,分析计 算结果并得出你的结论。 (2)用SOR迭代法求解上述方程组,松弛系数ω取1< ω <2的不同值,在 时停止迭代.记录迭代次数,分析计算结果并得出你的结论。 Hx,bHnn第二题:给出线性方程组其中系数矩阵为希尔伯矩阵: 1h,n,nijH,(h),Ri,j,1nij,,i = 1, 2……n. **Tn,nb,Hxx,(1,1?,1),Rn假设,,若取n = 6, 8, 10,分别用雅克比迭代及SOR迭 代(w = 1, 1.25, 1.5)求解.比较计算结果 3)实验原理与理论基础: 第一题:(一) 雅克比(Jacobi)迭代法算法设计: ?输入矩阵a与右端向量b及初值x(1,i); ?按公式计算得 ,,n,,1,(k1)(k)x,b,ax(i,1,2,?,n) ,iiijj,,a,j1ii,,,ji,, (二)高斯――赛得尔迭代法算法设计: 1. 输入矩阵a与右端向量b及初值x(1,i). ,1in,,1(,1)(,1)()kkk,, 2. (i = 1, 2,…, n) ,,,xbaxax,,iiijjijj,,a,1,,1jjiii,, (三)超松驰法算法设计: ?输入矩阵a与右端向量b及初值x(1,i)。 ,1in,,,(,1)()(,1)()kkkk,,?, 0,,,2,,,,,x(1)xbaxax,,,iiiijjijj,,a,1,,1jjiii,, 4)实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 : 第一题:代码: 雅克比(Jacobi)迭代法 ? function []=yakebi(e) %输入矩阵a与右端向量b。 for i=1:20 a(i,i)=3; end for i=3:20 for j=i-2 a(i,j)=-1/4; a(j,i)=-1/4; end end for i=2:20 for j=i-1 a(i,j)=-1/2; a(j,i)=-1/2; end end b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2]; k=1; n=length(a); for i=1:n x(1,i)=1;%数组中没有第0行。 end while k>=1 for i=1:n m=0; %此步也可以用ifj~=i条件判定一下。 for j=1:(i-1) m=m+a(i,j)*x(k,j); end for j=(i+1):n m=m+a(i,j)*x(k,j); end x(k+1,i)=(b(i)-m)/a(i,i); end l=0; %判定满足条件使循环停止迭代。 for i=1:n l=l+abs(x(k+1,i)-x(k,i)); end if l=1 for i=1:n p=0;q=0; for j=1:(i-1) p=p+a(i,j)*x(k+1,j); end for j=(i+1):n q=q+a(i,j)*x(k,j); end x(k+1,i)=(b(i)-q-p)/a(i,i); end l=0; %判定满足条件使循环停止迭代。 for i=1:n l=l+abs(x(k+1,i)-x(k,i)); end if l=1 if w>=2||w<=1 '请重新输入w的值,w在1与2之间'; break end for i=1:n p=0;q=0; for j=1:(i-1) p=p+a(i,j)*x(k+1,j); end for j=i:n q=q+a(i,j)*x(k,j); end x(k+1,i)=x(k,i)+w*(b(i)-q-p)/a(i,i); end l=0; %判定满足条件使循环停止迭代。 for i=1:n l=l+abs(x(k+1,i)-x(k,i)); end if l i) temp02 = temp02 + Hn(i, j) * X_old(j); end end end X_new(i) = w * (b(i) - temp01 - temp02) / Hn(i, i) + X_old(i); end X = X_new; End 5)实验结果: 第一题?雅克比(Jacobi)迭代法 此时初值全取1; >> b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2]; yakebi(0.00001) ans = Columns 1 through 9 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 Columns 10 through 18 1.0000 1.0000 1.0000 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 Columns 19 through 20 0.9787 0.9793 k = 12 此时初值全取1; >> b=[2.5 1.9 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.9 2.5]; yakebi(0.00001) ans = Columns 1 through 12 1.0969 1.0707 1.0219 1.0103 1.0039 1.0016 1.0006 1.0003 1.0001 1.0001 1.0001 1.0001 Columns 13 through 20 1.0003 1.0006 1.0016 1.0039 1.0103 1.0219 1.0707 1.0969 k = 14 ?高斯――赛得尔迭代法 此时初值全取1; >> b=[2.2 1.7 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.7 2.2]; >> gaoshisaideer(0.00001) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 14 此时初值全取1; >> b=[2.5 1.9 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.9 2.5]; gaoshisaideer(0.00001) ans = Columns 1 through 12 1.0969 1.0707 1.0219 1.0103 1.0039 1.0016 1.0006 1.0003 1.0001 1.0001 1.0001 1.0001 Columns 13 through 20 1.0003 1.0006 1.0016 1.0039 1.0103 1.0219 1.0707 1.0969 k = 14 ?超松驰法 >> caosongci(0.00001,1.5) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 25 >> caosongci(0.00001,1.4) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 19 >> caosongci(0.00001,1.3) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 15 >> caosongci(0.00001,1.6) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 34 >> caosongci(0.00001,1.7) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 47 >> caosongci(0.00001,1.9) ans = Columns 1 through 12 0.9793 0.9787 0.9941 0.9970 0.9989 0.9995 0.9998 0.9999 1.0000 1.0000 1.0000 1.0000 Columns 13 through 20 0.9999 0.9998 0.9995 0.9989 0.9970 0.9941 0.9787 0.9793 k = 150 第二题: 对于雅克比迭代法,通过执行以下代码 >> p211_1_JJ(6) >> p211_1_JJ(8) >> p211_1_JJ(10) 可以分别得到: Now Jacobi method! Start with the vector that (0, 0, 0, ...)^T ans = 2.4500 1.1036 0.6265 0.4060 0.2831 0.2071 Now Jacobi method! Start with the vector that (0, 0, 0, ...)^T ans = 2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497 0.1995 Now Jacobi method! Start with the vector that (0, 0, 0, ...)^T ans = Columns 1 through 9 2.9290 1.6662 1.0517 0.7423 0.5554 0.4315 0.3445 0.2807 0.2325 Column 10 0.1951 对于SOR迭代法,执行相对应代码 n=6, ω=1,1.25,1.5的时候 >> p211_1_SOR(6, 1) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 2.4500 1.1036 0.6265 0.4060 0.2831 0.2071 >> p211_1_SOR(6, 1.25) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 3.0625 0.2310 0.8704 0.3389 0.3141 0.2097 >> p211_1_SOR(6, 1.5) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 3.6750 -1.1009 2.0106 -0.3994 0.7670 -0.0384 与n=8, ω=1,1.25,1.5的时候 >> p211_1_SOR(8, 1) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 2.7179 1.4101 0.8524 0.5809 0.4221 0.3198 0.2497 0.1995 >> p211_1_SOR(8, 1.25) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 3.3973 0.4887 1.0898 0.5062 0.4501 0.3203 0.2573 0.2042 >> p211_1_SOR(8, 1.5) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = 4.0768 -0.9424 2.2923 -0.2753 0.9252 0.0578 0.4071 0.1275 与n=10, ω=1,1.25,1.5的时候 >> p211_1_SOR(10, 1) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = Columns 1 through 9 2.9290 1.6662 1.0517 0.7423 0.5554 0.4315 0.3445 0.2807 0.2325 Column 10 0.1951 >> p211_1_SOR(10, 1.25) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = Columns 1 through 9 3.6612 0.7098 1.2835 0.6617 0.5807 0.4299 0.3506 0.2844 0.2363 Column 10 0.1984 >> p211_1_SOR(10, 1.5) Now Successive Over Relaxtion method! Start with the vector that (0, 0, 0, ...)^T ans = Columns 1 through 9 4.3935 -0.7958 2.5326 -0.1523 1.0720 0.1565 0.5050 0.2041 0.2819 Column 10 0.1766 6)实验结果分析与小结: 1.在实习中,进行学习MATLAB,有助于将两者都更加的熟悉并加以充分利用。 2.此次取的b对于雅克比迭代法、高斯――赛得尔迭代法都是收敛的,对于相同的初值与右端向量明显可以看出高斯――赛得尔迭代法比雅克比迭代法快,这与理论上的分析完全一致嘛。 3.对于SOR迭代方法选择不同的松弛因子收敛次数大大不同,当松弛因子为1.1时,在同等条件下迭代最快.
本文档为【数值分析实验报告6】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_353097
暂无简介~
格式:doc
大小:43KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-30
浏览量:26