Exemple #1
0
//---------------------------------------------------------------------------
double TfrmCalcParameter::thermalDAP2(double* TT,int* day,double Time,int ndays) // con Time
{
        double dap;
  myData* data=new myData[ndays];
  for(int i=0;i<ndays;i++)
  {
    (data+i)->x=day[i];
    (data+i)->y=TT[i];
  }

        if (Time < TT[0])
            dap = day[0];
        if (Time > TT[ndays-1]) {
            leastSqrRegression(data,ndays);
            // aqui falta implementar esta funcion
            //dap <- as.numeric(predict(model, data.frame(Time)))
        }
        if ((Time >= TT[0]) && (Time <= TT[ndays-1])) {
            int i = 0;
            while (TT[i] < Time) {
                i = i + 1;
            }
            if (i < ndays-1) {
                double medio = (TT[i] + TT[i - 1])/2.0;
                if (medio - TT[i - 1] > TT[i] - medio)
                  dap = day[i];
                else dap = day[i - 1];
            }
            else dap = day[i - 1];
        }
  delete []data;
  return dap;
}
Exemple #2
0
//---------------------------------------------------------------------------
double TfrmCalcParameter::thermalDAP1(double* TT,int* day,double dap,int ndays)  // con dato de entrada dap la salida es Time
{
  myData* data=new myData[ndays];
  for(int i=0;i<ndays;i++)
  {
    (data+i)->x=day[i];
    (data+i)->y=TT[i];
  }

  dap = round(dap);
  double Time;

  if(dap<day[0]) Time=0.0;
  if (dap > day[ndays-1])
  {
    leastSqrRegression(data,ndays);
    // aqui falta implementar esta funcion
    //  Time <- as.numeric(predict(model, data.frame(dap)))
  }
  if(dap>=day[0] && dap<=day[ndays-1])
  {
     for(int i=0;i<ndays;i++)
     {
       if(day[i]==dap)
       {
         Time=TT[i];
         break;
       }
     }
  }
  delete []data;
  return Time;
}
void TrackedObject::evaluateParameters(void){
	//Storing mag of distance vector (squared) divided by the frames object was there.
	speed = ( pow(positions[0][0] - positions[positions.size() - 1][0], 2) + pow(positions[0][1] - positions[positions.size() - 1][1], 2) ) / (lastFrame - firstFrame);

	double* regCoeff = leastSqrRegression(positions);
	intercept = regCoeff[0];
	slope = regCoeff[1];
}
Exemple #4
0
 /**
  * return 1 if OK, return 0 if error
  */
 int  LR::evaluate(float &slope,float &avgY){
   int res = 0;
   int items;
   struct Point *data = prepareData (items);
   if (items > 2 && data != NULL){
     slope = leastSqrRegression(data, items);
     avgY = this->AVGy;
     res = 1;
   }
   delete data;
   return res;
 }