ADMB Documentation  11.5.3197
 All Classes Files Functions Variables Typedefs Friends Defines
logisticK.cpp
Go to the documentation of this file.
00001 #include <admodel.h>
00002 #include <df1b2fun.h>
00003 #include <adrndeff.h> 
00004 
00005 /*---------------------------------------------------------3rd variable is a scalar*/
00006 /*---------------------------------------------2nd variable is a scalar*/
00015 dvariable logisticK( const double& t,  const prevariable& K,  const prevariable& r,  const prevariable& n0)
00016 {
00017     RETURN_ARRAYS_INCREMENT();  
00018   dvariable y;
00019   y=K/(1.0+(K/n0-1.0)*exp(-r*t)); 
00020 
00021   RETURN_ARRAYS_DECREMENT();
00022   return (y);
00023 }
00032 dvar_vector logisticK( const dvector& t,  const prevariable& K,  const prevariable& r,  const prevariable& n0)
00033 {
00034     RETURN_ARRAYS_INCREMENT();  
00035   dvar_vector y;
00036   y=K/(1.0+(K/n0-1.0)*exp(-r*t)); 
00037 
00038   RETURN_ARRAYS_DECREMENT();  
00039     return (y);
00040 }
00049 dvar_vector logisticK( const dvector& t,  const dvar_vector& K,  const prevariable& r,  const prevariable& n0)
00050 {
00051     RETURN_ARRAYS_INCREMENT();  
00052   dvar_vector y;
00053   y=elem_div(K, 1.0 + elem_prod(K/n0-1.0, exp(-r*t))); 
00054 
00055   RETURN_ARRAYS_DECREMENT();  
00056     return (y);
00057 }
00058 /*---------------------------------------------2nd variable is a vector*/
00067 dvar_vector logisticK( const dvector& t,  const prevariable& K,  const dvar_vector& r,  const prevariable& n0)
00068 {
00069     RETURN_ARRAYS_INCREMENT();  
00070   dvar_vector y;
00071   y=K/(1.0+(K/n0-1.0)*exp(-1.0*elem_prod(r,t))); 
00072 
00073   RETURN_ARRAYS_DECREMENT();  
00074     return (y);
00075 }
00084 dvar_vector logisticK( const dvector& t,  const dvar_vector& K,  const dvar_vector& r,  const prevariable& n0)
00085 {
00086     RETURN_ARRAYS_INCREMENT();  
00087   dvar_vector y;
00088   y=elem_div(K, 1.0 + elem_prod(K/n0-1.0, exp(-1.0*elem_prod(r,t)))); 
00089 
00090   RETURN_ARRAYS_DECREMENT();  
00091     return (y);
00092 }
00093 /*---------------------------------------------------------3rd variable is a vector*/
00094 /*---------------------------------------------2nd variable is a scalar*/
00103 dvar_vector logisticK( const dvector& t,  const prevariable& K,  const prevariable& r,  const dvar_vector& n0)
00104 {
00105     RETURN_ARRAYS_INCREMENT();  
00106   dvar_vector y;
00107   y=K/(1.0+elem_prod((K/n0-1.0), exp(-r*t))); 
00108 
00109   RETURN_ARRAYS_DECREMENT();  
00110     return (y);
00111 }
00120 dvar_vector logisticK( const dvector& t,  const dvar_vector& K,  const prevariable& r,  const dvar_vector& n0)
00121 {
00122     RETURN_ARRAYS_INCREMENT();  
00123   dvar_vector y;
00124   y=elem_div(K, 1.0 + elem_prod(elem_div(K, n0)-1.0, exp(-r*t))); 
00125 
00126   RETURN_ARRAYS_DECREMENT();  
00127     return (y);
00128 }
00129 /*---------------------------------------------2nd variable is a vector*/
00138 dvar_vector logisticK( const dvector& t,  const prevariable& K,  const dvar_vector& r,  const dvar_vector& n0)
00139 {
00140     RETURN_ARRAYS_INCREMENT();  
00141   dvar_vector y;
00142   y=K/(1.0+elem_prod(K/n0-1.0, exp(-1.0*elem_prod(r,t)))); 
00143 
00144   RETURN_ARRAYS_DECREMENT();  
00145     return (y);
00146 }
00155 dvar_vector logisticK( const dvector& t,  const dvar_vector& K,  const dvar_vector& r,  const dvar_vector& n0)
00156 {
00157     RETURN_ARRAYS_INCREMENT();  
00158   dvar_vector y;
00159   y=elem_div(K, 1.0 + elem_prod(elem_div(K, n0)-1.0, exp(-1.0*elem_prod(r,t)))); 
00160 
00161   RETURN_ARRAYS_DECREMENT();  
00162     return (y);
00163 }
00164 /*---------------------------------------------------------3rd variable is a scalar in a random effects model*/
00165 /*---------------------------------------------2nd variable is a scalar in a random effects model*/
00166 /*----------------------1st varible contains random effects*/
00175 df1b2variable logisticK( const double& t,  const df1b2variable& K,  const df1b2variable& r,  const df1b2variable& n0)
00176 {
00177   df1b2variable y;
00178   y=K/(1.0+(K/n0-1.0)*exp(-r*t)); 
00179 
00180     return (y);
00181 }
00190 df1b2vector logisticK( const dvector& t,  const df1b2variable& K,  const df1b2variable& r,  const df1b2variable& n0)
00191 {
00192   df1b2vector y;
00193   y=K/(1.0+(K/n0-1.0)*exp(-r*t)); 
00194 
00195     return(y);
00196 }
00205 df1b2vector logisticK( const dvector& t,  const df1b2vector& K,  const df1b2variable& r,  const df1b2variable& n0)
00206 {
00207   df1b2vector y;
00208   y=elem_div(K, 1.0 + elem_prod(K/n0-1.0, exp(-r*t))); 
00209 
00210     return(y);
00211 }
00212 
00213 /*---------------------------------------------2nd variable is a vector in a random effects model*/
00214 /*----------------------1st varible contains random effects*/
00223 df1b2vector logisticK( const dvector& t,  const df1b2variable& K,  const df1b2vector& r,  const df1b2variable& n0)
00224 {
00225   df1b2vector y;
00226   y=K/(1.0+(K/n0-1.0)*exp(-1.0*elem_prod(r,t))); 
00227 
00228     return(y);
00229 }
00238 df1b2vector logisticK( const dvector& t,  const df1b2vector& K,  const df1b2vector& r,  const df1b2variable& n0)
00239 {
00240   df1b2vector y;
00241   y=elem_div(K, 1.0 + elem_prod(K/n0-1.0, exp(-1.0*elem_prod(r,t)))); 
00242 
00243     return(y);
00244 }
00245 
00246 
00247 /*---------------------------------------------------------3rd variable is a vector in a random effects model*/
00248 /*---------------------------------------------2nd variable is a scalar in a random effects model*/
00249 /*----------------------1st varible contains random effects*/
00258 df1b2vector logisticK( const dvector& t,  const df1b2variable& K,  const df1b2variable& r,  const df1b2vector& n0)
00259 {
00260   df1b2vector y;
00261   y=K/(1.0+elem_prod((K/n0-1.0), exp(-r*t))); 
00262 
00263     return(y);
00264 }
00273 df1b2vector logisticK( const dvector& t,  const df1b2vector& K,  const df1b2variable& r,  const df1b2vector& n0)
00274 {
00275   df1b2vector y;
00276   y=elem_div(K, 1.0 + elem_prod(elem_div(K, n0)-1.0, exp(-r*t))); 
00277 
00278     return(y);
00279 }
00280 
00281 /*---------------------------------------------2nd variable is a vector in a random effects model*/
00282 /*----------------------1st varible contains random effects*/
00291 df1b2vector logisticK( const dvector& t,  const df1b2variable& K,  const df1b2vector& r,  const df1b2vector& n0)
00292 {
00293   df1b2vector y;
00294   y=K/(1.0+elem_prod(K/n0-1.0, exp(-1.0*elem_prod(r,t)))); 
00295 
00296     return(y);
00297 }
00306 df1b2vector logisticK( const dvector& t,  const df1b2vector& K,  const df1b2vector& r,  const df1b2vector& n0)
00307 {
00308   df1b2vector y;
00309   y=elem_div(K, 1.0 + elem_prod(elem_div(K, n0)-1.0, exp(-1.0*elem_prod(r,t)))); 
00310 
00311     return(y);
00312 }