拉格朗日插值法编程问题

用c语言编程:x 0.4 0.55 0.8 0.9 1
y 0.41075 0.57815 0.88811 1.02652 1.7520
求x=0.5,0.7,0.85处的近似值
高手帮下忙吧,不然我就挂了

第1个回答  2012-03-28
#include "stdio.h"
void main()
{
double l(double x);
double a,x;
scanf("%lf",&x);
a=l(x);
printf("%f",a);
}

double l(double x)
{double a[5]={0.4,0.5,0.6,0.7,0.8};
double b[5]={ 0.41075 ,0.57815, 0.88811,1.02652 ,1.7520
• };
double n=0,L,k=1,s=1;
int w,i;
for(i=0;i<=4;i++)
{
for(w=0;w<=4;w++)
{
if(w==i)
continue;
k=k*(x-a[w]);
s=s*(a[i]-a[w]);

}
L=k/s*b[i];
s=1;
k=1;
n=n+L;
}
return(n);
}
相似回答
大家正在搜