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 + -
显示快捷键?