欢迎来到天天文库
浏览记录
ID:24121984
大小:73.50 KB
页数:4页
时间:2018-11-12
《一舍入误差与数值稳定性》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验一舍入误差与数值稳定性实验报告学院:计算机科学与软件学院班级:116班姓名:薛捷星学号:1125471.实验目的:(1)上机编程,复习以前所学C程序设计语言。(2)上机计算,了解舍入误差所引起的数值不稳定性。(3)上机计算,了解运算次序对计算结果的影响,从而尽量避免大数吃小数的现象。2.算法描述:例1:对n=0,1,2,…,20计算定积分=算法1利用递推公式=-5n=1,2,…,20取ln6-ln50.182322算法2利用递推公式n=20,19,…,1注意到取3.源程序和运行结果:算法1的程序和输出结果如下#includ
2、e#includemain(){intn=1;doubley=log(6.0)-log(5.0);printf("y[0]=%f",y);do{y=1.0/n-5*y;printf("y[%d]=%f",n,y);n++;}while(n<=20);}算法2的程序和输出结果如下:#includemain(){intn;doubley=(1.0/105+1.0/126)/2;printf("y[20]=%f",y);for(n=19;n>=0;n--){y=1.0/
3、(5*(n+1))-y/5;printf("y[%d]=%f",n,y);}}5.对算法的理解与分析(包括改进与建议):(1)在数值计算中,两个相近数相减会导致有效数字的严重损失,所以在计算时尽量避免这种情况的发生。(2)当参加运算的数数量级相差很时,可能出现大数吃掉小数的现象,所以在写算法时一定要注意这种情况的发生。(3)计算公式的不同可以改变或者是避免有效数字的产生。(4)从计算结果可以看出,算法1是不稳定的,而算法2是稳定的。
此文档下载收益归作者所有