baitai 发表于 2013-2-1 11:32:03

一次线性插值C语言代码

 rstime=ORTIME;
 rsvalue=ORVALUE;
 int rst=1;
 int rsv=1;
 int ornum=lengthlrs;
 if (resampfz!=0&&ornum>=1)
 {
  double addtime=(double)1/(resampfz);
  double lineReSampleX;
  double lineReSampleY;
  lineReSampleX=0;
  lineReSampleX=0;
  lineReSampleY=0;
  lineReSampleY=0;
  lineReSampleX=ORTIME;
  lineReSampleX=ORTIME;
  lineReSampleY=ORVALUE;
  lineReSampleY=ORVALUE;
  //}
  double lineReSampleX0=lineReSampleX+addtime;
  int lj=1;
  while(lj<ornum)
  {
   
   while(lineReSampleX0>lineReSampleX&&lj<ornum)
   {
    lj=lj+1;
    lineReSampleX=lineReSampleX;
    lineReSampleY=lineReSampleY;
    lineReSampleX=ORTIME;
    lineReSampleY=ORVALUE;
   }
   rstime=lineReSampleX0;
   rst++;
   double b=(lineReSampleY-lineReSampleY)/(lineReSampleX-lineReSampleX);
   double a=lineReSampleY-b*lineReSampleX;
   rsvalue=b*lineReSampleX0+a;
   rsv++;
   lineReSampleX0=lineReSampleX0+addtime;
   if (rst==ornum+1&rsv==ornum+1)
   {
    break;
   }
  }
 }
页: [1]
查看完整版本: 一次线性插值C语言代码