计算方法实验报告
班级: 学号: 姓名: 成绩:
1 舍入误差及稳定性
一、实验目的
(1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令; (2)通过上机计算,了解舍入误差所引起的数值不稳定性
二、实验内容
1、用两种不同的顺序计算?n?2,分析其误差的变化
n?1100002、已知连分数f?b0?a1,利用下面的算法计算f:
b1?a2/?b2?a3/(...?an/bn)?dn?bn,di?bi?ai?1f?d0 (i?n?1,n?2,... , 0di?1写一程序,读入n,b0,b1,...,bn,a1,...,an,计算并打印f 3、给出一个有效的算法和一个无效的算法计算积分
xnyn??dx (n?0,1,..., 104x?114、设SN??j?2N11?311???,已知其精确值为?? 2j?12?2NN?1?(1)编制按从大到小的顺序计算SN的程序 (2)编制按从小到大的顺序计算SN的程序
(3)按两种顺序分别计算S1000,S10000,S30000,并指出有效位数
三、实验步骤、程序设计、实验结果及分析
1、用两种不同的顺序计算?n,分析其误差的变化
n?110000?2(1)实验步骤:
分别从1~10000和从10000~1两种顺序进行计算,应包含的头文件有stdio.h和math.h (2)程序设计: a.顺序计算
#include
b.逆序计算
#include
(3)实验结果及分析: 程序运行结果: a.顺序计算
b.逆序计算
结果分析:两种不同顺序计算结果是一样的,顺序计算误差从一开始就很小,而逆序计算误差最开始十分大,后来结果正确。 2、已知连分数f?b0?(1)实验步骤:
利用 dn?bn,di?bi?a1,计算f:
b1?a2/?b2?a3/(...?an/bn)?ai?1f?d0,计算f (i?n?1,n?2,...,,0di?1(2)程序设计 #include
printf(\ scanf(\ } printf(\ for(i=0;i<=n;i++) { printf(\ scanf(\ }