| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1514 人关注过本帖
标题:Newton插值多项式求差商表
取消只看楼主 加入收藏
hehuihh2004
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2006-11-3
收藏
 问题点数:0 回复次数:0 
Newton插值多项式求差商表

#include <stdio.h>

int k,a;
float x1,x2;
float m[10],n[10],w1[10],w2[10],f[10][10];

void freturn(float m[],float n[]){//求F的函数;,利用2位数组来做
int i;
for(i=0;i<k;i++){
f[0][i]=n[i];
}
for(i=1;i<k;i++){
f[1][i]=(n[i]-n[0])/(m[i]-m[0]);
}
for(i=2;i<k;i++){//a=1;b=1
for(a=2;a<=i;a++){
f[a][i]=(f[a-1][i]-f[a-1][a-1])/(m[i]-m[a-1]);
}
}
for(i=0;i<k;i++){//a=1;b=1
for(a=0;a<=i;a++){
printf("%f ",f[a][i]);
}printf("\n");
}
}

void main()
{
float m[10],n[10];
printf("请输入已知值的个数:\n");
scanf("%d",&k);
for(a=0;a<k;a++){
printf("请输入X%d ",a);
scanf("%f",&m[a]);
printf("请输入Y%d ",a);
scanf("%f",&n[a]);
}
printf("输入两个x的值\n");
scanf("%f %f",&x1,&x2);
for(a=1;a<k;a++){
w1[0]=1;
w1[a]=w1[a-1]*(x1-m[a-1]);
}
for(a=1;a<k;a++){
w2[0]=1;
w2[a]=w2[a-1]*(x2-m[a-1]);
}
float N1=0,N2=0;
freturn(m,n);
for(a=0;a<=k;a++){
N1=N1+w1[a]*f[a][a];
N2=N2+w2[a]*f[a][a];
}
printf("N1=%f\nN2=%f\n",N1,N2);
}


搜索更多相关主题的帖子: Newton 多项式 插值 差商 float 
2006-11-04 19:59
快速回复:Newton插值多项式求差商表
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025319 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved