埃尔米特(Hermite)插值

 假设平面上的若干点(x,y),用埃尔米特插值的方法把这些点连成一条曲线,其构造埃尔米特插值函数的条件为:知道了若干点的x,y坐标,还要知道对应点的导数值。其具体插值程序为:

double CShuzhijisuanDlg::Hermite(double xx)
{
 double tmp=0,a,l;
 for(int i=0;i<m_length;i++){
  l=1.0;a=0;
  for(int j=0;j<m_length;j++){
   if(i!=j){
    a=a+1/(parmx[i]-parmx[j]);
    l=l*(xx-parmx[j])/(parmx[i]-parmx[j]);//拉格朗日系数
   }
  }
  a=((1-2*(xx-parmx[i])*a)*parmy[i])+(xx-parmx[i])*parmd[i];
  tmp=tmp+a*l*l;
 }
 return tmp;
}

你可能感兴趣的:(IM)