21 #include <gsl/gsl_integration.h>
22 #include <gsl/gsl_sf_erf.h>
23 #include <gsl/gsl_errno.h>
28 const double SQRTPI = sqrt(4*atan(1.0));
42 const double p = 0.3275911;
44 { 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429 };
50 res = (a[0] + ( a[1] + (a[2] + (a[3] + a[4]*
t )*t )*
t )*t )*
t;
57 double erf = gsl_sf_erf(x);
59 return exp(x*x)*(1 + erf);
63 double Abru(
double x,
void* ){
74 if ( f_upper < MAXIMUM_INVERSE_RESPONSE_FUNCTION )
78 size_t number_of_evaluations;
85 double f_absolute_error;
86 double f_relative_error;
90 if ( f_upper > F_ABS_REL_BOUNDARY)
101 int integration_result =
111 &number_of_evaluations
114 if (integration_result != GSL_SUCCESS)
116 return SQRTPI*tau*f_integral;
119 return std::numeric_limits<double>::max();
131 double f_upper = (theta - mu) /sigma;
132 double f_lower = (V_reset - mu)/sigma;
double tau
Membrane time constant.
double ResponseFunction(const GeomLib::ResponseParameter &)
const double EPSILON_RESPONSE_FUNCTION
double _Abru_positive(double x)
Response functions often feature in the work of Amit and Brunel (1997), and are useful for comparing ...
double InterspikeTime(double theta, double mu, double sigma, double V_reset, double tau)
The objective is find a numerical solution for this equation This requires a numerical representation of the density We will work in the state space of a two dimensional and define a mesh there We first give two examples and then define the general procedure and given in Table for given fixed Delta g see Fig and we will denote coordinates in this dimension by a small letter $v The second dimension can be used to represent parameters as varied as and will represented by $w A strip is constructed by choosing two neighbouring points in state e g and integrating the vector field for a time $T that is assumed to be an integer multiple of a period of time Delta t
Base class for all exceptions thrown in GeomLib.
double tau_refractive
Refractive period.
const double MAXIMUM_INVERSE_RESPONSE_FUNCTION
double V_reset
Reset Potential.
const double F_ABS_REL_BOUNDARY
double _Abru_negative(double x)
double IntegralValue(double f_lower, double f_upper, double tau)
double theta
Threshold Potential.
double Abru(double x, void *)