下载此文档

数值分析 牛顿插值.doc


文档分类:高等教育 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
数值分析实验报告








问题描述
给出f(x) 的节点值为,求出其牛顿插值多项式,并由此计算f()的近似值。
问题分析
我们知道f(x)的一阶均差为,f(x)的二阶均差为。那么f(x)的K阶均差可以表示为
根据给定的n个节点,我们可以由均差公式(k=1,…,i)
得到可列均差表为
一阶均差
二阶均差
三阶均差
四阶均差






构造f(x)的n阶牛顿插值多项式:
其中在这里的值可以由来代替。
流程图
开始
N=f[0][0],T=1,i=1
调用Newton函数
结束
输入x,y,以及c
k=1
f[i-k][i]=(f[i-k+1][i]-f[i-k][i-1])/(x[i]-x[i-k])
k<=i
k++

|f[1][i]-f[0][i-1]|<=E

Rn=|f[0][i]*(c-x[i-1])*T|,Jnumber=i-1
T*=c-x[i-1],N+=f[0][i]*T
i++


i+1<n

输出插值多项式Nn(x),N,Rn,Jnumber
程序设计
#include<>
#include<>
#define n 6 /*给定的节点数目*/
void Newton(double x[],double y[],double c){/*x[]为已知节点的横坐标,y[]为节点的纵坐标,c为所求点的横坐标值*/
int Jnumber; /*要求解的插值多项式的插值次数*/
double f[n][n],Rn,E=; /*f[i][j]表示f[xi,…,xj],Rn表示插值余项,E为所要满足的误差值*/
for(int i=0;i<n;i++)
f[i][i]=y[i]; /*将y[i]的值赋给f[i][i]*/
double N=f[0][0],T=1; /*N为初始的牛顿插值值,T为初始的w(c)的值*/
printf("----------------------牛-顿-插-值-法----------------------\n");
printf("x[k] y[k] 一阶均差二阶均差三阶均差四阶均差五阶均差\n");
printf("-----------------------------------------------------------\n");
printf("%.2f %.5f\n",x[0],f[0][0]); /*输出均差表的第一行*/
for(i=1;i<n;i++){ /*输出均差表的第i行*/
printf("%.2f %.5f ",x[i],f[i][i]);
for(int k=1;k<=i;k++){
f[i-k][i]=(f[i-k+1][i]-f[i-k][i-1])/(x[i]-x[i-k]);
printf("%.5f ",f[i-k][i]);
}
printf("\n");
if(fabs(f[1][i]-f[0][i-1])<=E){
Rn=fabs(f[0][i]*(c-x[i-1])*T); /*解出

数值分析 牛顿插值 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小133 KB
  • 时间2018-06-17