欢迎来到天天文库
浏览记录
ID:15771896
大小:76.51 KB
页数:6页
时间:2018-08-05
《计算方法与实习实验报告 舍入误差与数值稳定性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一舍入误差与数值稳定性用两种不同的顺序计算≈1.644834,分析其误差的变化;程序:#include#includevoidmain(){inti;floatsum_0=0,sum_1=0;for(i=1;i<10001;i++)sum_0+=1.0/(i*i);printf("%f",sum_0);for(i=10000;i>0;i--)sum_1+=1.0/(i*i);printf("%f",sum_1);}输出:sum_0=1.644725sum_1=1.644834
2、分析讨论:在计算机内作加法运算时,首先要对加数作对阶处理。由于加数和被加数相比是一个小量,加之计算机字长有限,加数被作为机器零处理了,与被加数相加实际上是被被加数“吃掉”了。因此多个数相加,应按绝对值从小到大的顺序依次相加,可以保留更多的有效位数。实验二方程求根——二分法一、目的和要求1)通过对二分法的编程练习,掌握方程求根的二分法的算法;2)通过对二分法的上机运算,进一步体会二分法的特点。二、实习内容1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。三、算法流程图:计算:fa=f(a),fb=f(b),fab
3、=fa*fb计算:c=(a+b)/2,fc=f(c)
4、fc
5、6、7、b-a8、反复执行步2和步3,直到区间[a,b]长度缩小到允许误差范围之内或f(c)=0,此时区间中点c即可作为所求1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。的根。四、实验步骤1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a,b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。五、实验结果1.经编译、链接及例子验证结果正确的源程序:#include9、h>#include#defineeps5e-4#definedelta1e-6floatf(floatx){returnx*x*x+x*x-3*x-3;}voidmain(){floata,b,c;intk;floatfa,fb,fc;intn=1;scanf("%f,%f",&a,&b);printf("a=%fb=%f",a,b);k=(log(b-a)-log(eps))/log(2.0);printf("k=%d",k);fa=f(a);fb=f(b);do{if(fa*fb>0){pr10、intf("无解");break;}else{c=(a+b)/2;fc=f(c);if(fabs(fc)11、为5e-6,其结果为:4.改变EPS的值为:EPS=5e-4,a,b不变,仍为a=1,b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论答:估算的次数与实际二分次数相等,即估算多少次,就二分了多少次.1.输入不同的区间初值a,b,二分次数的变化情况答:输入的区间范围越大,要达到相同的精确值,二分次数K会相应的增加。1.输入不同的误差限EPS,二分次数的变化情况答:随着误差限的增大,二分次数会相应的减少七、心得通过二分计算在电脑中的演示更一步了解了二分法的特点:用对分区间的方法根据分点处函数f(x)值的12、符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个根.二分法收敛速度较慢,在编程过程中,对变量的定义采用哪种类型,主要是对条件的判断做准确分析,对中断条件的准确把握,在调试过程中,对k值采用哪种类型的定义,对k值的输出有很大关系。
6、
7、b-a8、反复执行步2和步3,直到区间[a,b]长度缩小到允许误差范围之内或f(c)=0,此时区间中点c即可作为所求1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。的根。四、实验步骤1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a,b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。五、实验结果1.经编译、链接及例子验证结果正确的源程序:#include9、h>#include#defineeps5e-4#definedelta1e-6floatf(floatx){returnx*x*x+x*x-3*x-3;}voidmain(){floata,b,c;intk;floatfa,fb,fc;intn=1;scanf("%f,%f",&a,&b);printf("a=%fb=%f",a,b);k=(log(b-a)-log(eps))/log(2.0);printf("k=%d",k);fa=f(a);fb=f(b);do{if(fa*fb>0){pr10、intf("无解");break;}else{c=(a+b)/2;fc=f(c);if(fabs(fc)11、为5e-6,其结果为:4.改变EPS的值为:EPS=5e-4,a,b不变,仍为a=1,b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论答:估算的次数与实际二分次数相等,即估算多少次,就二分了多少次.1.输入不同的区间初值a,b,二分次数的变化情况答:输入的区间范围越大,要达到相同的精确值,二分次数K会相应的增加。1.输入不同的误差限EPS,二分次数的变化情况答:随着误差限的增大,二分次数会相应的减少七、心得通过二分计算在电脑中的演示更一步了解了二分法的特点:用对分区间的方法根据分点处函数f(x)值的12、符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个根.二分法收敛速度较慢,在编程过程中,对变量的定义采用哪种类型,主要是对条件的判断做准确分析,对中断条件的准确把握,在调试过程中,对k值采用哪种类型的定义,对k值的输出有很大关系。
8、反复执行步2和步3,直到区间[a,b]长度缩小到允许误差范围之内或f(c)=0,此时区间中点c即可作为所求1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。的根。四、实验步骤1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a,b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。五、实验结果1.经编译、链接及例子验证结果正确的源程序:#include9、h>#include#defineeps5e-4#definedelta1e-6floatf(floatx){returnx*x*x+x*x-3*x-3;}voidmain(){floata,b,c;intk;floatfa,fb,fc;intn=1;scanf("%f,%f",&a,&b);printf("a=%fb=%f",a,b);k=(log(b-a)-log(eps))/log(2.0);printf("k=%d",k);fa=f(a);fb=f(b);do{if(fa*fb>0){pr10、intf("无解");break;}else{c=(a+b)/2;fc=f(c);if(fabs(fc)11、为5e-6,其结果为:4.改变EPS的值为:EPS=5e-4,a,b不变,仍为a=1,b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论答:估算的次数与实际二分次数相等,即估算多少次,就二分了多少次.1.输入不同的区间初值a,b,二分次数的变化情况答:输入的区间范围越大,要达到相同的精确值,二分次数K会相应的增加。1.输入不同的误差限EPS,二分次数的变化情况答:随着误差限的增大,二分次数会相应的减少七、心得通过二分计算在电脑中的演示更一步了解了二分法的特点:用对分区间的方法根据分点处函数f(x)值的12、符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个根.二分法收敛速度较慢,在编程过程中,对变量的定义采用哪种类型,主要是对条件的判断做准确分析,对中断条件的准确把握,在调试过程中,对k值采用哪种类型的定义,对k值的输出有很大关系。
9、h>#include#defineeps5e-4#definedelta1e-6floatf(floatx){returnx*x*x+x*x-3*x-3;}voidmain(){floata,b,c;intk;floatfa,fb,fc;intn=1;scanf("%f,%f",&a,&b);printf("a=%fb=%f",a,b);k=(log(b-a)-log(eps))/log(2.0);printf("k=%d",k);fa=f(a);fb=f(b);do{if(fa*fb>0){pr
10、intf("无解");break;}else{c=(a+b)/2;fc=f(c);if(fabs(fc)11、为5e-6,其结果为:4.改变EPS的值为:EPS=5e-4,a,b不变,仍为a=1,b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论答:估算的次数与实际二分次数相等,即估算多少次,就二分了多少次.1.输入不同的区间初值a,b,二分次数的变化情况答:输入的区间范围越大,要达到相同的精确值,二分次数K会相应的增加。1.输入不同的误差限EPS,二分次数的变化情况答:随着误差限的增大,二分次数会相应的减少七、心得通过二分计算在电脑中的演示更一步了解了二分法的特点:用对分区间的方法根据分点处函数f(x)值的12、符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个根.二分法收敛速度较慢,在编程过程中,对变量的定义采用哪种类型,主要是对条件的判断做准确分析,对中断条件的准确把握,在调试过程中,对k值采用哪种类型的定义,对k值的输出有很大关系。
11、为5e-6,其结果为:4.改变EPS的值为:EPS=5e-4,a,b不变,仍为a=1,b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论答:估算的次数与实际二分次数相等,即估算多少次,就二分了多少次.1.输入不同的区间初值a,b,二分次数的变化情况答:输入的区间范围越大,要达到相同的精确值,二分次数K会相应的增加。1.输入不同的误差限EPS,二分次数的变化情况答:随着误差限的增大,二分次数会相应的减少七、心得通过二分计算在电脑中的演示更一步了解了二分法的特点:用对分区间的方法根据分点处函数f(x)值的
12、符号逐步将有根区间缩小,使在足够小的区间内,方程有且仅有一个根.二分法收敛速度较慢,在编程过程中,对变量的定义采用哪种类型,主要是对条件的判断做准确分析,对中断条件的准确把握,在调试过程中,对k值采用哪种类型的定义,对k值的输出有很大关系。
此文档下载收益归作者所有