資源簡介
這是一個基于計(jì)算方法拉格朗日插值法實(shí)現(xiàn)的C語言版本的小程序,可以計(jì)算不同節(jié)點(diǎn)分割下的估計(jì)值及其誤差值
代碼片段和文件信息
#include
#include
#define?PI?3.1415926535898
double?f1(int?iint?n){//第一個xi序列
???return?-5+10*i/(double)n;
}
double?f2(int?iint?n){//第二個xi序列
???return?-5*cos((2*i+1)*PI/(2*n+2));
}
double?g(int?i){//yi序列
??return?(double)i/50.0-5;
}
double?l1(int?ndouble?x){//1中的差值函數(shù)
???int?ij;
???double?fxtmp;
???fx=0.0;
???for(i=0;i<=n;i++){
??????tmp=1.0;
??for(j=0;j ??tmp=tmp*(x-f1(jn))/(f1(in)-f1(jn));
??for(j=i+1;j<=n;j++)
??????????tmp=tmp*(x-f1(jn))/(f1(in)-f1(jn));
??fx=fx+tmp*1/(1+f1(in)*f1(in));
???}
???return?fx;
}
double?l2(int?ndouble?x){//2中的差值函數(shù)
int?ij;
???double?fxtmp;
???fx=0.0;
???for(i=0;i<=n;i++){
??????tmp=1.0;
??for(j=0;j ??tmp=tmp*(x-f2(jn))/(f2(in)-f2(jn));
??for(j=i+1;j<=n;j++)
??????????tmp=tmp*(x-f2(jn))/(f2(in)-f2(jn));
評論
共有 條評論