牛顿插值多项式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构休变量的连续空间*/
for(k=1;k<=n;k++)/*变量 k 在 1 和 n 之间变化,每
-2-
循环一次,自己身加 1*/ { f[0]=y[k];/*把 y[k]的值赋给 f[0]*/ for(i=0;i<k;i++) f[i+1]=(f[i]-y[i])/(x[k]-x[i]);/*牛顿插值公式*/ y[k]=f[k]; } return; } main() { int i,n; float x[20],y[20],xx,yy;/*定义 xx,yy 分别为 20 位的 浮点数*/ printf("Input n:"); scanf("%d",&n);/*从键盘上输入 n 的值,并在屏幕 上显示*/ if(n>=20) {printf("Error! The value of n must in (0,20)."); getch(); return 1;}/*如果 n>=20,则提示 出错,返回主程序重新输入*/ if(n<=0) {printf("Error! The value of n must in (0,20).");getch(); return 1;} /*如果 n<=0,则提示 出错,返回主程序重新输入*/ for(i=0;i<=n-1;i++)/*i 在 0 和 n-1 之间变化*/
3. 实验原理:
利用 Newton 插值多项式的承袭性,先求出数据的差商 表,再对数据进行拟合。
源代码及程序分析: #include <stdio.h> #include <conio.h> #include <alloc.h>
多项式变量*/ /* 头文件 */
void difference(float *x,float *y,int n)/*定义牛顿插值 { float *f;/*f 作为临时变量,记录牛顿插值多项式*/ int k,i;/*定义变量 k,i*/ f=(float *)malloc(n*sizeof(float));/* 表示分配了 n 个
-3-
{ printf("x[%d]:",i); scanf("%f",&x[i]);/*从键盘上输入 x[i]的值,并 在屏幕上显示*/ } printf("\n"); for(i=0;i<=n-1;i++) { printf("y[%d]:",i);scanf("%f",&y[i]);} /*从键盘上 输入 y[i]的值,并在屏幕上显示*/ printf("\n"); difference(x,(float *)y,n); printf("Input xx:"); scanf("%f",&xx); yy=y[20]; for(i=n-1;i>=0;i--) yy=yy*(xx-x[i])+y[i]; /*牛顿插值 多项式算法公式*/ printf("NewtonInter(%f)=%f",xx,yy); /*输出结果*/ getch(); } 1. 数据输入与输出:
-6-
结果输出为:-9615.
2. 总结与归纳:
牛顿插值多项式具有承袭性,可以在原有插值多项式的基 础上补上个节点进行补算。为了验证电脑计算与人工计算 进行结果对比, 所以 N 值设得较小, 但 N 的值只体现插值 的精度。
-7-
课程论文名称 专 业 学 学 指 班 级 生 号 导 教 师
Newton 插值多项式离散数据拟合 表叔
理 学 院 时间:
-1-
1. 实验目的:
用 C 语言编程,实现对 Newton 插值多项式的描述。并培 养自己用用程序解决问题的能力。
2. 实验要求:
要求在 Turbo C++的环境下实现 Newton 插值法,并得出 结果。
运行程序如图下所示
-5-
⑴令 n=2,x[0]=23,x[1]=34;y[0]=45,y[1]=67.输入 xx=20. 运行结果如下:
结果输出为:1005. ⑵为了方便,我们再令 n=3, x[0]=23,x[1]=34,x[2]=30; y[0]=45, y[1]=67,y[55].输入 xx=20.运行结果如下:
牛顿插值多项式公式为 Pn(x)=
-4-
f ( x0 ) f [ x0 , x1 ]( x x0 ) ... f [ x0 ..., xn1 ] ( x x j )
Βιβλιοθήκη Baiduj 0 n2
f [ x0 , x1..., xn ] ( x x f ).
j 0
n1
程序窗口
相关文档
最新文档