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