00001 #include <admodel.h>
00002 #include <df1b2fun.h>
00003 #include <adrndeff.h>
00004
00005
00006
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
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
00094
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
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
00165
00166
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
00214
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
00248
00249
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
00282
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 }