《数值计算方法》实验报告
专业信息与计算科学年级 2012级班级 2班学号 201224093255 姓名丁航航成绩
1 实验名称
计算当年10月8日北京的日照时长
2 实验题目
P83第一题
3 实验目的
学习使用拉格朗日插值法构造差值多项式
4 实验环境
Windows 7操作系统,vc6.0
5 实验过程
#include"stdio.h"
#include"math.h"
//* * * * * * * * * * * * * *
//程序名:NewtonInterpolation
//程序功能:利用插值多项式计算北京某年10月的日照时长
//* * * * * * * * * * * * * *
#define n 3
void main()
{int i,j,xx,x[3]={1,15,22};
float y[3]={17-6+(58-9)/60.0,17-6+(36-23)/60.0,17-6+(26-31)/60.0};
float N[3][3],yy,temp;
for(i=0;i N[i][0]=y[i]; for(j=1;j for(i=j;i N[i][j]=(N[i][j-1]-N[i-1][j-1]-N[i-1][j-1])/(x[i]-x[i-j]); xx=8; yy=0.0; temp=1.0; for(i=0;i { yy=yy+N[i][i]*temp; temp=temp*(xx-x[i]); } printf("\n这年10月%d日北京日照时长为%7.4f小时.\n",xx,yy); printf("即%d小时%3.0f分.\n",(int)floor(yy),60*fmod(yy,1.0)); 7 结果分析