📄 interpolation.h
字号:
float Compl_Lagr2(int n,float * NodeX,float * NodeY,float x)
//int n; /*Total Number for Insert*/
//double *NodeX; /*Node Value for Insert*/
//double *Nodey; /*Function Value On Node for Insert */
//double x; /*Insert Point */
{
int i,j,k;
float y,tmp;
if(x>=(NodeX[n-3]+NodeX[n-2])/2.0)
{
i=n-3;
}
else
{
i=0;
while(x>=(NodeX[i+1]+NodeX[i+2])/2.0)++i;
}
y=0.0;
for(j=i;j<=i+2;++j)
{
tmp=1.0;
for(k=i;k<=i+2;++k)
{
if(j!=k)
tmp *=(x-NodeX[k])/(NodeX[j]-NodeX[k]);
}
y+=tmp * NodeY[j];
}
return y;
}
/*int DataLOad_1(char * Fname,double * x,double * y)
{
int i,n;
FILE *fp;
fp=fopen(Fname,"r");
fscanf(fp,"%d",&n);
for(i=0;i<n;++i)
{
fscanf(fp,"%lf%lf",&y[i]);
}
fclose(fp);
return n;
}*/
/*main()
{
int i;
double y0;
double x0[4]={0.0,0.15,0.30,0.45};
double x[6]={0.0,0.1,0.195,0.3,0.401,0.5};
double y[6]={0.39894,0.39695,0.39142,0.38138,0.36812,0.35206};
for(i=0;i<4;++i)
{
y0=Compl_Lagr2(6,x,y,x0[i]);
printf("x0=%7.5lf y0=%7.5lf\n",x0[i],y0);
}
printf("\n");
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -