コード例 #1
0
FS_neuron::FS_neuron(const vector<double>& param)
{
    // set neuron params from vector
    V = param[0];
    ENa = param[1]; // mv Na reversal potential
    EK  = param[2]; // mv K reversal potential
    El  = param[3]; // mv Leakage reversal potential
    gbarNa = param[4]; // mS/cm^2 Na conductance
    gbarK  = param[5];  // mS/cm^2 K conductance
    gl = param[6];
    fi = param[7];
    Iextmean = param[8];
    variance = param[9];

    unsigned int seed = chrono::system_clock::now().time_since_epoch().count();
    generator =  new default_random_engine (seed);
    normRand = new normal_distribution <double> (Iextmean, variance);
    Iext = (*normRand)(*generator); // Iext generate from normal distribution

    m = alpha_m() / (alpha_m() + beta_m());
    n = alpha_n() / (alpha_n() + beta_n());
    h = alpha_h() / (alpha_h() + beta_h());

    gNa = gbarNa*m*m*m*h;
    gK = gbarK*n*n*n*n;

    Isyn = 0;
    countSp = true;
    th = -20;
}
コード例 #2
0
ファイル: plant.cpp プロジェクト: RamiJacob/Motiftoolbox
double tau_n(const double V_tilde)	{ return 1./(alpha_n(V_tilde)+beta_n(V_tilde)); }
コード例 #3
0
ファイル: plant.cpp プロジェクト: RamiJacob/Motiftoolbox
double n_inf(const double V_tilde)	{ return alpha_n(V_tilde)/(alpha_n(V_tilde)+beta_n(V_tilde)); }
コード例 #4
0
ファイル: neuron.cpp プロジェクト: RTXI/neuron
static inline double tau_n(double V) {
	return 1.0 / (alpha_n(V) + beta_n(V));
}
コード例 #5
0
ファイル: neuron.cpp プロジェクト: RTXI/neuron
static inline double n_inf(double V) {
	return alpha_n(V) / (alpha_n(V) + beta_n(V));
}
コード例 #6
0
double FS_neuron::n_integrate(double dt)
{
    double n_0 = alpha_n() / (alpha_n() + beta_n());
    double tau_n = 1 / (alpha_n() + beta_n());
    return n_0 -(n_0 - n)*exp(-dt/tau_n);
}