一、实验任务
给定一系列样本点,采用牛顿差值公式估计样本点附近指定点的函数值。以教材p31例2.9为操作内容。
已知实验数据:
xi 0.4 0.55 0.65 0.80 0.90
yi 0.41075 0.57815, 0.69675 0.88811 1.02653
表 1-1 牛顿插值实验数据
二、编程环境
PC一台,C语言(DEV C++)
三、实验原理与算法
1、 Newton插值公式:
输入n,xi,yi(i=0,1,2,3…,n),对k=1,2,3,…,n,计算函数f(x)的各阶差商
F[x0,x1,…,xk],计算Newton插值函数值:
Nn(x)=f0(x0)+fx0,x1+…+fx0,x1,…xn(x-x1)…(x-xn-1)
2、算法
·输入参数:插值节点数(n+1),插值点序列(xk,yk),要计算函数点x。
·输出参数:Nn(x)的近似值或者错误信息。
·算法描述:
Step1:输入插值点序列(xk,yk)(k=0,1,…,n)令Nn(x)=0。
Step2:对k=1,2,…,计算f(x)的各阶插商f[x0,x1,…,xk],
f[x0,x1,…,xk]=(f[x1,…,xk]-f[x0,x1,…,xk-1])/(xk-xi)。
Step3:计算函数值 Nn(x)=f0(x0)+fx0,x1+…+fx0,x1,…xn(x-x1)…(x-xn-1)。
Step4:输出Nn(x)的近似值或输入不正确信息,保存程序。
四、程序流程图
五、程序
#include<stdio.h>
#define MAX 1024
#include<math.h>