成都理工大学计算方法实验报告
时间:2025-07-15
时间:2025-07-15
成都理工大学 核技术与自动化工程学院 计算方法实验报告
(实验项目,例:)实验一 舍入误差与数值稳定性
班级: 学号: 姓名:
一、目的和要求
(1) 通过上机编程,复习巩固以前所学程序设计语言及上机操作指令;
(2)通过上机计算,了解舍入误差所引起的数值不稳定性;
二、实习内容
用2种不同的顺序计算你n(1——10000),1/(1*1)+1/(2*2)+1/(3*3)+……+1/(n*n)=1.644834;
三、算法
第一种:
#include <stdio.h>
#include <math.h>
void main()
{
double sum=0.0;
int i;
for(i=1;i<10001;i++)
{
sum=sum+(1.0/(i*i));
}
printf("%lf\n", sum);
}
第二种:
#include <stdio.h>
#include <math.h>
void main()
{
double sum=0.0;
int i;
for(i=10000;i>0;i--)
{
sum=sum+(1.0/(i*i));
}
printf("%lf\n", sum);
}
成都理工大学 核技术与自动化工程学院 计算方法实验报告
四、实验步骤
第一种
#include <stdio.h>
#include <math.h>
void main()
{
double sum=0.0;
int i;
for(i=1;i<10001;i++)
{
sum=sum+(1.0/(i*i));
}
printf("%lf\n", sum);
}
第二种
#include <stdio.h>
#include <math.h>
void main()
{
double sum=0.0;
int i;
for(i=10000;i>0;i--)
{
sum=sum+(1.0/(i*i));
}
printf("%lf\n", sum);
}
五、实验结果
第一种1.644834
第二种1.644834
六、分析和讨论
实验采用double型变量,不可以使用float型,由于所取精度不同,所以最后产生的的结果会不同。
七、心得(*可选)
在实验中用双精度算出来的结果为1.644834,而用单精度算出来结果为1.644725,所以实验室应选取双精度。
在试验中的应注意sum=sum+(1.0/(i*i))而不是sum=sum+(1/(i*i)),应为前面定义的sum不是int型。