LAB01算法的数值稳定性实验.docVIP

  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文档。上传文档
查看更多
Lab01.atlab语言的编程训练,初步体验算法的软件实现; 2.通过对稳定算法和不稳定算法的结果分析、比较,深入理解算法的数值稳定性及其重要性。 【实验内容】 1.用Matlab语言编写按递推公式 计算(n=0,1,2,……)的程序,并取I0=0.6321,计算n=0,1,2,……,9时In的值。 2. 用Matlab语言编写按递推公式 计算(n=0,1,2,……,9)的值程序。 3.分析比较两种算法的数值稳定性。 【实验仪器与软件】 1.CPU主频在1GHz以上,内存在128Mb以上的PC; 2.Matlab 6.0及以上版本。 实验讲评: 实验成绩: 评阅教师: 2012 年04 月05 日 Lab01.,要运用下面两种算法进行计算。 . 算法一: 由积分估值得: 取y(0)=0.6321时,运用递推公式为: 进行计算。 算法二: 取n=9时,得: 所以y(9)=0.0684时,运用递推公式为: 进行计算。 二、算法程序及计算结果 算法一的程序如下: function [ y,n ] = Myfun_1() syms k y_0; y=zeros(1,10); n=1; y_0=0.6321; y(1)=y_0; for i=1:9 y(i+1)=1-i*y(i); n=n+1; end end 计算结果如下: [ y,n ] = Myfun_1() y = 0.6321 0.3679 0.2642 0.2074 0.1704 0.1480 0.1120 0.2160 -0.7280 7.5520 n = 10 算法二的程序如下: function [ y,n ] = Myfun_2() syms k y_9; y=zeros(10,1); n=1; y_9=0.6321; y(8)=y_9; for i=10:-1:2 y(i-1)=1/i*(1-y(i)); n=n+1; end end 计算结果如下: [ y,n ] = Myfun_2() y = 0.3679 0.2642 0.2073 0.1709 0.1455 0.1268 0.1125 0.1000 0.1000 0 n = 10 三、算法分析 从两题的计算结果来看,算法一是不稳定的,而算法二是稳定的。 对算法一:由于y(1)本身就有一定的误差。 所以经过多次迭代后会让误差积累,从而增大误差,使得在实际应用过程应该先用实验验证数值的稳定性。 四、总结 经过这次实验充分了解了计算方法的稳定性和不稳定性。 由于算法的不稳定,并会在计算过程使误差迅速增加,所以结果不精确。 进行数值计算时应该合理选择比较好的算法去避免误差的增长速度,最好让结果的误差在计算中减小。 第一次实验算法数值稳定性 系: 数学系 班级: 10信息 姓名: 陆治先 学号: 2010051121 4 n=1,2,…… n=9,8,……,1 n=9,8,……,1

文档评论(0)

企业资源 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档