#include <stdio.h>
void chashang(float fx[],float x[])
{
int i,j,a,b=4;
for (i=0;i<4;i++)
{
a=b;
for (j=4;j>i;j--)
{
fx[j]=(fx[j]-fx[j-1])/(x[j]-x[--a]);
printf("%.5f\n",fx[j]);
}
printf("\n");
b--;
}
printf("插商表如下\n");
for (i=0;i<5;i++)
{
printf("%.5f\t",fx[i]);
}
}
float function(float fx[],float x[],float a)
{
int i;
float sum;
float cc=1;
sum=fx[0];
for (i=1;i<5;i++)
{
cc=cc*(a-x[i-1]);
sum=sum+fx[i]*cc;
}
return sum;
}
int main ()
{
float sum,a;
float x[5]={0.4,0.55,0.8,0.9,1};
float fx[5]={0.41075,0.57815,0.88811,1.02652,1.17520};
chashang(fx,x);
printf("\n请输入测试数据\n");
scanf("%f",&a);
sum=function(fx,x,a);
printf("%.5f\n",sum);
return 0;
}
牛顿插值—C语言实现
最新推荐文章于 2023-05-22 19:15:15 发布