谢谢大家了哦,我要得不是结果呀,我已经用LAGRANGE的程序,和答案是一样的哟。不过,我现在用NEWTON也解决了哦,谢谢大家了哦!!!
我也欢迎大家多多发表C程序来探讨哦
这是我编写的NEWTON式:
#include"stdio.h"
#define N 5
float xx[]={0.4,0.55,0.65,0.80,0.95,1.05};
float yy[]={0.41075,0.57815,0.69675,0.90,1.00,1.25382};
float New(int n)
{
int j,k;
float s1=0,m1;
for(j=0;j<=n;j++)
{
m1=1;
for(k=0;k<=n;k++)
if(j!=k)m1*=1/(xx[j]-xx[k]);
s1+=m1*yy[j];
}
return s1;
}
float Newton(float x)
{
int i,k;
float m2,s2=0;
for(i=0;i<=N;i++)
{
m2=1;
for(k=0;k<i;k++)
m2*=(x-xx[k]);
s2+=m2*New(i);
}
return s2;
}
main()
{
printf("%f\n%f\n",Newton(0.596),Newton(0.99));
}
答案是完全正确的哦,大家可以看看了,提提更好的改进方法或意见了哟