polynormal.txt
来自「多项式插值」· 文本 代码 · 共 58 行
TXT
58 行
//多项式内插算法fIn的首地址和iPosition共同决定插值的位置,iType决定插值次数,fFraction决定插值在两点间的小数值
调用之前,要注意插值的目标位置不能越界,在调用之前要判断一下!
float InterPolatePolyNormal(float *fIn,float fFraction, int iType )
{
float fPx;
float fLix;
float fX;
fPx=0;
fX=iPosition+fFraction;
for(int i=0;i<iType+1;i++)
{
fLix=1.0;
for(int j=0;j<iType+1;j++)
{
if((i-j)!=0) fLix=fLix*(fX-j)/(i-j);//目标点滑动到i点时,与当前点i不同的点都要有一个拉格朗日算子
continue;
}
fPx=fPx+fLix*fIn[i];
}
return(fPx);
}
int TestMyLib()
{
float fMa[13]={0,0,0,0,0,0,0,0,0,2.3026,2.3979,2.4849,2.5649};
float fResult=0;
fResult=InterPolatePolyNormal(fMa+10,3,0,0.75,2);
CString info;
info.Format("内插结果=%f",fResult);
AfxMessageBox(info);
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?