5次拉格朗日插值多项式

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:26:00
(用C实现 不要C++ )
-_-! 等了这么久还是个C++

#include <iostream>
using namespace std;
template<class T>
T lagrange(int n,T* x,T* y, T t)
//计算n次拉格朗日插值多项式在t点处的值
//插值节点x[i],y[i](i=0,1,...,n)
{
T c1,c2;
int i,j;
c1=0;
for(i=0;i<=n;i++){
c2=y[i];
for(j=0;j<=n;j++)
if(j!=i)c2=c2*(t-x[j])/(x[i]-x[j]);
c1+=c2;
}
return(c1);
}
int main()
{float x[]={1.1275,1.1503,1.1735,1.1972};
float y[]={0.11910,0.13954,0.15932,0.17903};
float t=1.1300;
float yt;

yt=lagrange(3,x,y,t);

cout<<yt;
return 0;
}
从别的地方给你下的,运行一下试试吧,按照你书上的思想一步步做就可以了,利用好FOR语句就差不多了