数值代数五次作业.docVIP

数值代数五次作业.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值代数五次作业

第一题: 程序: 1. gongetidu.m x=gongetidu(A,b,s,kmax) 输入值:n*n的矩阵A ,n*1的矩阵b,以及控制迭代停止的s和最大允许的迭代次数kmax 输出值:gongetidu法求解问题A*x=b的解x 2. xldSOR.m [x,w]=xldSOR(A,b) 输入值:n*n的矩阵A ,n*1的矩阵b 输出值:超松弛迭代法迭代用法求解问题A*x=b的解x,以及最佳松弛因子w 3.call1.m 第一题的程序 问题分析: 1.方程分析 将Dirichlet问题转化为如下差分形式: 将 按照自然顺序排序并记向量x ,大小为 [1 ,(n-1)^2] 系数矩阵A为 矩阵大小为[(n-1)^2, (n-1)^2 ] , 其中B=-I/4 ,S’是对角元均为 1+h2/4 ,次对角元均为-1/4 向量b ,讨论两种情况: (1) 对于 即对应的b的分量为 = (2)对于, 例如 i=1, j= ,有 ,有 即对应的b的分量为 为此,可以用for循环同理定义矩阵b,令b= 再将矩阵b按照自然顺序排序得到向量b 由此计算 A*x=b 最后再将1*(n-1)2的向量x变化为(n-1)*(n-1)的矩阵。 2.算法分析: 1. 实共轭梯度法 采用实共轭梯度法解对称正定方程组A*x=b,在||rk||很小或者迭代次数达到最大允许的迭代次数kmax来终止迭代,即令sqrt(r’r)s||b||2或kkmax 2. SOR迭代法: SOR迭代法需要确定最佳松弛因子wopt。选用不同的w值1:0.01:2,用相同的初始向量迭代400次,考虑 x400-x399的无穷范数,无穷范数最小的认为其收敛速度最快,作为最佳松弛因子wopt .再用这个w ,令xk=(D-wL)-1 [(1-w)D+wU] xk-1+w(D -wL)-1 b; 直到 xk- xk-1 的无穷范数0.0001, 将此时的xk 作为解。这样的解满足有四位有效数字。 实验结果 1. 用实共轭梯度法求解 x=gongetidu(A,b,10^(-6),1000) 即在||rk||小于10^(-6)*||b||或者迭代次数达到最大允许的迭代次数kmax=1000来终止迭代。 得到的解x及r=A*x-b的前若干项为 x 208.4 135.1259527 104.1295 90.8499457 86.5346764 87.6299562 92.4930221 100.260195 110.413275 122.587999 b-Ax 6.99E-06 -8.77E-06 4.24E-05 -3.40E-06 -2.35E-05 -2.29E-05 -5.08E-05 -2.61E-05 -1.25E-05 -9.38E-07 残量r(x)的二范数||A*x-b||2=||r(x)||2= 8.7224e-004 系统计算时间为Elapsed time is 0.026339 seconds. 结果分析: 实共轭梯度法求解速度非常快,这与书中的结论“只要线性方程组的系数矩阵是十分良态的,共轭梯度法就会收敛的非常快”相符合。可以通过增加迭代次数增加精度。 将x重新排列成矩阵U,并画图得: 2.用上节课的SOR迭代法进行求解。 其中通过对不同的w分别迭代400次选取迭代速度最快的最为最佳松弛因子wopt。对wopt迭代指导精确到0.0001终止。 得到x和b-Ax的前若干项为: x 208.4005 135.1266 104.13 90.85062 86.53487 87.62954 92.49222 100.2599 110.4141 122.5888 b-A*x 2.91E-06 4.42E-06 5.69E-06 6.71E-06 7.47E-06 7.99E-06 8.26E-06 8.30E-06 8.13E-06 7.76E-06 残量r(x)的二范数||A*x-b||2=||r(x)||2= 1.5601e-004 系统计算时间为Elapsed time is 9.345953 seconds. 最佳松弛因子为1.5530,精切到小数点后两位 结果分析: 由于需要选取SOR迭代法的最佳松弛因子,迭代法需要的时间较长,但是精度较好。可以通过以下方式改进:先确定松弛因子的大概范围再精细计算以减少计算量 3.同时用共轭梯度法和SOR迭代法进行对比求解 为了方便比较,令两种迭代法的终止条件都设定为||rk||10^(-10)*||b||或者kmax=2000, 比较两种方法在结果要求精度较高的情况下的计算效果。 运算时间 残差二范数||r||2 共轭梯度 0.030

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档