实验一二

2019-08-29 21:55

实验报告的要求

1.实验名称 2.实验目的 3.算法描述 4.源程序 5.运行结果

6.对算法的理解与分析(包括改进与建议)

实验一

舍入误差与数值稳定性(2学时)

目的与要求:

1、 通过上机编程,复习巩固以前所学程序设计语言; 2、 通过上机计算,了解舍入误差所引起的数值不稳定性。 3、 通过上机计算,了解运算次序对计算结果的影响,从而尽量避免大数吃小数的现象。 实验内容:

? 通过正反两个实例的计算,了解利用计算机进行数

值计算中舍入误差所引起的数值不稳定性,深入理解初始小的舍入误差可能造成误差积累从而对计算结果的巨大影响。

? 通过实际编程,了解运算次序对计算结果的影响,

了解实数运算符合的结合律和分配律在计算机里不一定成立。 概要

舍入误差在计算方法中是一个很重要的概念。在实际计算中,

如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。因此,选取稳定的算法,在实际计算中是十分重要的。

程序与实例

例 1 对 n = 0,1,2,…,20 计算定积分

n

y1 = n?x?5dx

0x算法 1 利用递推公式

y1 = - 5nnyn?1 n = 1,2,…,20

y10??01dx? ln6- ln5 ? 0.182 322 x?5 算法 2 利用递推公式

11? yn?1?5n5注意到

1y1n n = 20,19,…,1

11112020??xdx??xdx??xdx? 12660x?5501050120 取

y20?111(?)?0.008 730 20105126

算法1的程序和输出结果如下: /*数值不稳定算法*/

#include #Include #indlude main() {

float y_0=log(6.0)-log(5.0),y_1; int n=1;

clrscr(); /*清屏*/ printf(“y[0]=%-20f”,y_0); while(1) {

Y_1=1.0/n-5*y_0;

Printf(“y[%d]=%-20f”,n,y_1);/*输出*/ if(n>=20)break; y_0=y_1; n++;

if(n%3==0)printf(“\\n”); }

getch();/*保持用户屏幕*/ }

Y[0]=0.182322 Y[3]=0.043128 Y[6]=0.024428 Y[9]=0.004076 Y[12]=1.619237 Y[15]=-200.772069 Y[18]=25097.828125

Y[1]=0.088392 Y[4]=0.034310 Y[7]=0.020719 Y[10]=0.079618 Y[13]=-8.019263 Y[16]=1003.922729 Y[2]=0.058039 Y[5]=0.028448 Y[8]=0.021407 Y[11]=-0.307181 Y[14]=40.167744 Y[17]=-5019.554688 Y[19]=-125489.085938 Y[20]=627445.500000 算法2的程序和输出结果如下: /*稳定算法*/ #include #include #include main() {

float y_0=(1/105.0+1/126.0)/2,y_1; int n=20; clrscr();

printf(“y[20]=%-20f”,y_0); while(1) {

y_1=1/(5.0*n)-y_0/5.0;

printf(“y[%d]=%-20f”,n-1,y_1); if(n<=1)break; y_0=y_1; n--;

if(n%3==0)printf(“\\n”); } getch(); }

Y[20]=0.008730 Y[17]=0.009336 Y[14]=0.011229 Y[11]=0.014071 Y[8]=0.018837 Y[5]=0.028468 Y[2]=0.058039

说明:从计算结果可以看出,算法1是不稳定的,而算法2是稳定的。

上机实验:用两种不同的顺序计算?n?1.644834,分析其误差的变

n?110000?2Y[19]=0.008254 Y[16]=0.009898 Y[13]=0.012040 Y[10]=0.015368 Y[7]=0.021233 Y[4]=0.034306 Y[1]=0.088392 Y[18]=0.008876 Y[15]=0.010520 Y[12]=0.012977 Y[9]=0.016926 Y[6]=0.024325 Y[3]=0.043139 Y[0]=0.182322 化。

实验二


实验一二.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:云计算系统运维高技能人才现状及需求、岗位能力及技能要求调研报

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: