标题:[开源]C程序:差分形式的插值公式
取消只看楼主
风之剑
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-4
 问题点数:0 回复次数:0 
[开源]C程序:差分形式的插值公式
/* 差分形式的插值公式 */

#include "Stdio.h"
#include "Conio.h"

int main(void)
{
float x,x0,h,y[15];
int n;
void input(float *,int *,float *,float *,float *);
float f(float,int,float,float,float *);
input(y,&n,&x0,&x,&h);
printf("\nf(%f)=%f",x,f(x,n,x0,h,y));
getch();
return 0;
}
void input(float *y,int *n,float *x0,float *x,float *h)
{
int i;
printf("请输入插值起始点X0=");
scanf("%f",x0);
printf("\n请输插值点间距H=");
scanf("%f",h);
printf("\n请输入插值点个数N=");
scanf("%d",n);
printf("\n请输入插值点值y(xi)=");
for(i=0;i<*n;i++)
{
scanf("%f",y+i);
}
printf("\n请输入插值点X=");
scanf("%f",x);
}
float f(float x,int n,float x0,float h,float *y)
{
int i,j;
float fx=0,t;
t=(x-x0)/h;
for(i=1;i<=n-1;i++)
for(j=n-1;j>=i;j--)
{
*(y+j)=*(y+j)-*(y+j-1);
}
for(i=n-1;i>0;i--)
fx=(fx+*(y+i))*(t-i+1)/i;
return fx+*y;
}

搜索更多相关主题的帖子: 差分 插值 公式 形式 
2007-03-10 00:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-123458-1-1.html




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

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