[ADMB Users] mfexp looks wrong

dave fournier davef at otter-rsch.com
Wed Feb 27 09:35:54 PST 2013


a complete twice differentiable version with different upper and lower
bounds b and  -c



double mfexp2(const double& x,double b,double c)
{
   if (x<=b && x>=-c)
   {
     return exp(x);
   }
   else if (x>b)
   {
     double y=x-b;
     double y2=square(y);
     return exp(b)*(1.+y/(1.+y) +1.5*y2/(1.+y2));
   }
   else
   {
     double y=-x-c;
     double y2=square(y);
     return 1.0/(exp(c)*(1.+y/(1.+y) +1.5*y2/(1.+y2)));
   }
}




More information about the Users mailing list