From 4b2aebdd7e5869e8ae69dd5f0ab442f9b9b1c12d Mon Sep 17 00:00:00 2001 From: Schellenberger Date: Fri, 22 Nov 2013 11:35:18 +0100 Subject: [PATCH 1/4] Split the random input into meand and sd. Changed the potassium leak potential to E_K=-100. Removed the g_AMPA / g_GABA conductivity Increased the time constant to 10 for compensation. Changed the E_L conductivity for RE to 1. TODO Change TC E_L conductivity to 1 and compensate --- Thalamic_Column.cpp | 12 ++++++------ Thalamus.cpp | 4 ++-- Thalamus.mexa64 | Bin 41427 -> 41313 bytes parameters.h | 22 +++++++++------------- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/Thalamic_Column.cpp b/Thalamic_Column.cpp index 38642f1..1e0e7ba 100644 --- a/Thalamic_Column.cpp +++ b/Thalamic_Column.cpp @@ -31,27 +31,27 @@ double Thalamic_Column::get_Qr (int N) const{ // excitatory input to TC population double Thalamic_Column::I_et (int N) const{ _SWITCH((Vt)(Phi_tt)) - double psi = g_AMPA * var_Phi_tt * (var_Vt - V_rev_e); + double psi = var_Phi_tt * (var_Vt - V_rev_e); return psi; } // inhibitory input to TC population double Thalamic_Column::I_it (int N) const{ _SWITCH((Vt)(Phi_rt)) - double psi = g_GABA * var_Phi_rt * (var_Vt - V_rev_i); + double psi = var_Phi_rt * (var_Vt - V_rev_i); return psi; } // excitatory input to RE population double Thalamic_Column::I_er (int N) const{ _SWITCH((Vr)(Phi_tr)) - double psi = g_AMPA * var_Phi_tr * (var_Vr - V_rev_e); + double psi = var_Phi_tr * (var_Vr - V_rev_e); return psi; } // inhibitory input to RE population double Thalamic_Column::I_ir (int N) const{ _SWITCH((Vr)(Phi_rr)) - double psi = g_GABA * var_Phi_rr * (var_Vr - V_rev_i); + double psi = var_Phi_rr * (var_Vr - V_rev_i); return psi; } /*****************************************************************************************************/ @@ -165,7 +165,7 @@ double Thalamic_Column::I_L_t (int N) const{ // Potassium leak current of TC population double Thalamic_Column::I_LK_t (int N) const{ _SWITCH((Vt)) - double I = gLK_t * (var_Vt - E_LK_t); + double I = gLK_t * (var_Vt - E_K); return I; } @@ -179,7 +179,7 @@ double Thalamic_Column::I_L_r (int N) const{ // Potassium leak current of RE population double Thalamic_Column::I_LK_r (int N) const{ _SWITCH((Vr)) - double I = gLK_r * (var_Vr - E_LK_r); + double I = gLK_r * (var_Vr - E_K); return I; } diff --git a/Thalamus.cpp b/Thalamus.cpp index 32e5e99..98413a3 100644 --- a/Thalamus.cpp +++ b/Thalamus.cpp @@ -29,8 +29,8 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { const int Time = (T+onset)*res; // random input - vector u_t1 = rand_var(mtrand, (T+onset)*res, phi_st, phi_st); - vector u_t2 = rand_var(mtrand, (T+onset)*res, phi_st, phi_st); + vector u_t1 = rand_var(mtrand, (T+onset)*res, mphi_st, dphi_st); + vector u_t2 = rand_var(mtrand, (T+onset)*res, mphi_st, dphi_st); // random input with phase independent stimulation //vector u_t1 = rand_inp(mtrand, Time, mphi_st, dphi_st, onset, var_stim); diff --git a/Thalamus.mexa64 b/Thalamus.mexa64 index d52e85493a1439d27febd6a1404805ee706e3437..5e808ce80ca8137ced3f6e8b409966208e412077 100755 GIT binary patch literal 41313 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 K6gEuV>i+<2WvN2| literal 41427 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 Date: Fri, 22 Nov 2013 11:46:30 +0100 Subject: [PATCH 2/4] Removed unnecessary CAN and KCA current. --- Main.cpp | 8 +++++--- Plots.m | 6 +++--- Thalamic_Column.cpp | 36 ++++++++---------------------------- Thalamic_Column.h | 19 ++++++------------- Thalamus.cpp | 22 ++++++++-------------- Thalamus.mexa64 | Bin 41313 -> 37019 bytes parameters.h | 17 ++--------------- saves.h | 10 +++------- 8 files changed, 35 insertions(+), 83 deletions(-) diff --git a/Main.cpp b/Main.cpp index 076dfa4..4b3f62f 100644 --- a/Main.cpp +++ b/Main.cpp @@ -11,6 +11,7 @@ using std::vector; extern const int T = 50; +extern const int onset = 5; extern const int res = 1E4; extern const double dt = 1E3/res; extern const double h = sqrt(dt); @@ -19,10 +20,11 @@ extern const double h = sqrt(dt); int main(void) { // Initializing the mersenne twister. MTRand mtrand; + const int Time = (T+onset)*res; - // creating the random input - vector u_t1 = rand_inp(mtrand, res, T, 0, 10, 1E3, phi_st, phi_st, phi_inp); - vector u_t2 = rand_inp(mtrand, res, T, 0, 10, 1E3, phi_st, phi_st, phi_inp); + // random input + vector u_t1 = rand_var(mtrand, (T+onset)*res, mphi_st, dphi_st); + vector u_t2 = rand_var(mtrand, (T+onset)*res, mphi_st, dphi_st); // Initializing the populations; Thalamic_Column Col; diff --git a/Plots.m b/Plots.m index 21688b8..f103c37 100644 --- a/Plots.m +++ b/Plots.m @@ -5,13 +5,13 @@ function Plots(T, onset) if nargin == 0 Con = [10; % N_tr - 20; % N_rt - 40]; % N_rr + 15; % N_rt + 30]; % N_rr T = 30; % duration of the simulation onset = 10; end -[Vt, Vr, Cat, Car, Phi_tr, Phi_rt, I_T_t, I_T_r, I_KCa, I_CAN, I_h] = Thalamus(Con, T, onset); +[Vt, Vr, Ca, Phi_tr, Phi_rt, I_T_t, I_T_r, I_h] = Thalamus(Con, T, onset); L = max(size(Vt)); timeaxis = linspace(0,T,L); diff --git a/Thalamic_Column.cpp b/Thalamic_Column.cpp index 1e0e7ba..f4da439 100644 --- a/Thalamic_Column.cpp +++ b/Thalamic_Column.cpp @@ -193,9 +193,9 @@ double Thalamic_Column::I_T_t (int N) const{ // T-type current of RE population double Thalamic_Column::I_T_r (int N) const{ - _SWITCH((Vr)(h_T_r)(m_T_r)) - double I = gTr * pow(var_m_T_r, 2) * var_h_T_r * (var_Vr - E_T); - //double I = gTr * pow(m_inf_T_r(N), 2) * var_h_T_r * (var_Vr - E_T); + _SWITCH((Vr)(h_T_r)) + //double I = gTr * pow(var_m_T_r, 2) * var_h_T_r * (var_Vr - E_T); + double I = gTr * pow(m_inf_T_r(N), 2) * var_h_T_r * (var_Vr - E_T); return I; } @@ -205,20 +205,6 @@ double Thalamic_Column::I_h (int N) const{ double I = gh * (var_m_h + g_inc * var_m_h2) * (var_Vt - E_h); return I; } - -// T-type current of TC population -double Thalamic_Column::I_KCa (int N) const{ - _SWITCH((Vr)(m_KCa)) - double I = gKCa * pow(var_m_KCa, 2) * (var_Vr - E_KCa); - return I; -} - -// T-type current of RE population -double Thalamic_Column::I_CAN (int N) const{ - _SWITCH((Vr)(m_CAN)) - double I = gCAN * pow(var_m_CAN, 2) * (var_Vr - E_CAN); - return I; -} /*****************************************************************************************************/ /********************************** end **********************************/ /*****************************************************************************************************/ @@ -245,24 +231,21 @@ double Thalamic_Column::noise_xRK(int N, double u_1, double u_2) const{ // function that calculates the Nth RK term void Thalamic_Column::set_RK (int N, double u_t1, double u_t2) { extern const double dt; - _SWITCH((Cat) (Car) + _SWITCH((Ca) (Phi_tt)(Phi_tr)(Phi_rt)(Phi_rr) (x_tt) (x_tr) (x_rt) (x_rr) (m_T_t) (m_T_r) (h_T_t) (h_T_r) - (m_KCa) (m_CAN) (m_h) (m_h2) (P_h)) + (m_h) (m_h2) (P_h)) Vt [N] = dt*(-(I_L_t(N) + I_et(N) + I_it(N))/tau_t - (I_LK_t(N) + I_T_t(N) + I_h(N))); Vr [N] = dt*(-(I_L_r(N) + I_er(N) + I_ir(N))/tau_r - (I_LK_r(N) + I_T_r(N))); - Cat [N] = dt*(alpha_Cat * I_T_t(N) - (var_Cat - Ca_0)/tau_Cat); - Car [N] = dt*(alpha_Car * I_T_r(N) - 0.005 * var_Car/(0.005 + var_Car)); + Ca [N] = dt*(alpha_Ca * I_T_t(N) - (var_Ca - Ca_0)/tau_Ca); m_T_t [N] = dt*(m_inf_T_t(N) - var_m_T_t)/tau_m_T_t(N); m_T_r [N] = dt*(m_inf_T_r(N) - var_m_T_r)/tau_m_T_r(N); h_T_t [N] = dt*(h_inf_T_t(N) - var_h_T_t)/tau_h_T_t(N); h_T_r [N] = dt*(h_inf_T_r(N) - var_h_T_r)/tau_h_T_r(N); - m_KCa [N] = dt*(48 * pow(var_Car, 2) * (1 - var_m_KCa) - 0.03 * var_m_KCa); - m_CAN [N] = dt*(20 * pow(var_Car, 2) * (1 - var_m_CAN) - 0.005 * var_m_CAN); m_h [N] = dt*((m_inf_h(N) * (1 - var_m_h2) - var_m_h)/tau_m_h(N) - k3 * var_P_h * var_m_h + k4 * var_m_h2); m_h2 [N] = dt*(k3 * var_P_h * var_m_h - k4 * var_m_h2); - P_h [N] = dt*(k1 * pow(var_Cat, n_P) * (1 - var_P_h) - k2 * var_P_h); + P_h [N] = dt*(k1 * pow(var_Ca, n_P) * (1 - var_P_h) - k2 * var_P_h); Phi_tt [N] = dt*(var_x_tt); Phi_tr [N] = dt*(var_x_tr); Phi_rt [N] = dt*(var_x_rt); @@ -278,8 +261,7 @@ void Thalamic_Column::add_RK(double u_t) { extern const double h; Vt [0] += (Vt [1] + Vt [2] * 2 + Vt [3] * 2 + Vt [4])/6; Vr [0] += (Vr [1] + Vr [2] * 2 + Vr [3] * 2 + Vr [4])/6; - Cat [0] += (Cat [1] + Cat [2] * 2 + Cat [3] * 2 + Cat [4])/6; - Car [0] += (Car [1] + Car [2] * 2 + Car [3] * 2 + Car [4])/6; + Ca [0] += (Ca [1] + Ca [2] * 2 + Ca [3] * 2 + Ca [4])/6; Phi_tt [0] += (Phi_tt [1] + Phi_tt [2] * 2 + Phi_tt [3] * 2 + Phi_tt [4])/6; Phi_tr [0] += (Phi_tr [1] + Phi_tr [2] * 2 + Phi_tr [3] * 2 + Phi_tr [4])/6; Phi_rt [0] += (Phi_rt [1] + Phi_rt [2] * 2 + Phi_rt [3] * 2 + Phi_rt [4])/6; @@ -292,8 +274,6 @@ void Thalamic_Column::add_RK(double u_t) { m_T_r [0] += (m_T_r [1] + m_T_r [2] * 2 + m_T_r [3] * 2 + m_T_r [4])/6; h_T_t [0] += (h_T_t [1] + h_T_t [2] * 2 + h_T_t [3] * 2 + h_T_t [4])/6; h_T_r [0] += (h_T_r [1] + h_T_r [2] * 2 + h_T_r [3] * 2 + h_T_r [4])/6; - m_KCa [0] += (m_KCa [1] + m_KCa [2] * 2 + m_KCa [3] * 2 + m_KCa [4])/6; - m_CAN [0] += (m_CAN [1] + m_CAN [2] * 2 + m_CAN [3] * 2 + m_CAN [4])/6; m_h [0] += (m_h [1] + m_h [2] * 2 + m_h [3] * 2 + m_h [4])/6; m_h2 [0] += (m_h2 [1] + m_h2 [2] * 2 + m_h2 [3] * 2 + m_h2 [4])/6; P_h [0] += (P_h [1] + P_h [2] * 2 + P_h [3] * 2 + P_h [4])/6; diff --git a/Thalamic_Column.h b/Thalamic_Column.h index 9208ff2..718b87a 100644 --- a/Thalamic_Column.h +++ b/Thalamic_Column.h @@ -14,23 +14,21 @@ class Thalamic_Column { public: // Constructors Thalamic_Column(void) - : Vt (_INIT(E_L_t)), Vr (_INIT(E_L_r)), Cat (_INIT(Ca_0)), Car (_INIT(Ca_0)), + : Vt (_INIT(E_L_t)), Vr (_INIT(E_L_r)), Ca (_INIT(Ca_0)), Phi_tt(_INIT(0.0)), Phi_tr (_INIT(0.0)), Phi_rt (_INIT(0.0)), Phi_rr (_INIT(0.0)), x_tt (_INIT(0.0)), x_tr (_INIT(0.0)), x_rt (_INIT(0.0)), x_rr (_INIT(0.0)), h_T_t (_INIT(0.0)), h_T_r (_INIT(0.0)), m_T_t (_INIT(0.0)), m_T_r (_INIT(0.0)), - m_KCa (_INIT(0.0)), m_CAN (_INIT(0.0)), m_h (_INIT(0.0)), m_h2 (_INIT(0.0)), - P_h (_INIT(0.0)), + m_h (_INIT(0.0)), m_h2 (_INIT(0.0)), P_h (_INIT(0.0)), N_tr (210), N_rt (410), N_rr (800) {} // Constructors Thalamic_Column(double* Con) - : Vt (_INIT(0)), Vr (_INIT(0)), Cat (_INIT(Ca_0)), Car (_INIT(Ca_0)), + : Vt (_INIT(E_L_t)), Vr (_INIT(E_L_r)), Ca (_INIT(Ca_0)), Phi_tt(_INIT(0.0)), Phi_tr (_INIT(0.0)), Phi_rt (_INIT(0.0)), Phi_rr (_INIT(0.0)), x_tt (_INIT(0.0)), x_tr (_INIT(0.0)), x_rt (_INIT(0.0)), x_rr (_INIT(0.0)), h_T_t (_INIT(0.0)), h_T_r (_INIT(0.0)), m_T_t (_INIT(0.0)), m_T_r (_INIT(0.0)), - m_KCa (_INIT(0.0)), m_CAN (_INIT(0.0)), m_h (_INIT(0.0)), m_h2 (_INIT(0.0)), - P_h (_INIT(0.0)), + m_h (_INIT(0.0)), m_h2 (_INIT(0.0)), P_h (_INIT(0.0)), N_tr (Con[0]), N_rt (Con[1]), N_rr (Con[2]) {} @@ -66,8 +64,6 @@ class Thalamic_Column { double I_T_t (int) const; double I_T_r (int) const; double I_h (int) const; - double I_KCa (int) const; - double I_CAN (int) const; // noise functions double noise_xRK (int, double, double) const; @@ -77,14 +73,13 @@ class Thalamic_Column { void add_RK (double); // function to extract the data - friend void get_data (int, Thalamic_Column&, _REPEAT(vector&, 11)); + friend void get_data (int, Thalamic_Column&, _REPEAT(vector&, 8)); private: // population variables vector Vt, // TC membrane voltage Vr, // RE membrane voltage - Cat, // Calcium concentration of TC population - Car, // Calcium concentration of RE population + Ca, // Calcium concentration of TC population Phi_tt, // PostSP from TC population to TC population Phi_tr, // PostSP from TC population to RE population Phi_rt, // PostSP from RE population to TC population @@ -97,8 +92,6 @@ class Thalamic_Column { h_T_r, // inactivation of T channel m_T_t, // activation of T channel m_T_r, // activation of T channel - m_KCa, // activation of KCa channel - m_CAN, // activation of CAN channel m_h, // activation of h channel m_h2, // activation of h channel bound with protein P_h; // fraction of protein bound with calcium diff --git a/Thalamus.cpp b/Thalamus.cpp index 98413a3..d3aa0e4 100644 --- a/Thalamus.cpp +++ b/Thalamus.cpp @@ -43,21 +43,18 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { // setting up the data containers vector Vt (T*res); vector Vr (T*res); - vector Cat (T*res); - vector Car (T*res); + vector Ca (T*res); vector Phi_tr (T*res); vector Phi_rt (T*res); vector I_T_t (T*res); vector I_T_r (T*res); - vector I_KCa (T*res); - vector I_CAN (T*res); vector I_h (T*res); int count = 0; for (int t=0; t=onset*res){ - get_data(count, Col, Vt, Vr, Cat, Car, Phi_tr, Phi_rt, I_T_t, I_T_r, I_KCa, I_CAN, I_h); + get_data(count, Col, Vt, Vr, Ca, Phi_tr, Phi_rt, I_T_t, I_T_r, I_h); ++count; } } @@ -65,14 +62,11 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { // output of the simulation plhs[0] = getMexArray(Vt); plhs[1] = getMexArray(Vr); - plhs[2] = getMexArray(Cat); - plhs[3] = getMexArray(Car); - plhs[4] = getMexArray(Phi_tr); - plhs[5] = getMexArray(Phi_rt); - plhs[6] = getMexArray(I_T_t); - plhs[7] = getMexArray(I_T_r); - plhs[8] = getMexArray(I_KCa); - plhs[9] = getMexArray(I_CAN); - plhs[10]= getMexArray(I_h); + plhs[2] = getMexArray(Ca); + plhs[3] = getMexArray(Phi_tr); + plhs[4] = getMexArray(Phi_rt); + plhs[5] = getMexArray(I_T_t); + plhs[6] = getMexArray(I_T_r); + plhs[7] = getMexArray(I_h); return; } diff --git a/Thalamus.mexa64 b/Thalamus.mexa64 index 5e808ce80ca8137ced3f6e8b409966208e412077..ed4daeb71e44ca06fb35c1b32f3f83d526cd3eb1 100755 GIT binary patch literal 37019 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 literal 41313 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 K6gEuV>i+<2WvN2| diff --git a/parameters.h b/parameters.h index 004cc1f..128357e 100644 --- a/parameters.h +++ b/parameters.h @@ -10,9 +10,8 @@ #define tau_r 10 // Calcium concentration -#define alpha_Cat -52E-6 // influx per spike in nmol -#define alpha_Car -50E-6 // influx per spike in nmol -#define tau_Cat 5 // calcium time contant in ms +#define alpha_Ca -52E-6 // influx per spike in nmol +#define tau_Ca 5 // calcium time contant in ms #define Ca_0 2E-4 // Maximum firing rate in ms^-1 @@ -53,12 +52,6 @@ // I_h current #define gh 0.07 - -// KCa current -#define gKCa 10.05 - -// CAN current -#define gCAN 1 /*****************************************************************************************************/ /********************************** end **********************************/ /*****************************************************************************************************/ @@ -81,12 +74,6 @@ // I_h current #define E_h -40 - -// KCa current -#define E_KCa -90 - -// CAN current -#define E_CAN -20 /*****************************************************************************************************/ /********************************** end **********************************/ /*****************************************************************************************************/ diff --git a/saves.h b/saves.h index 576cac3..8a66bfe 100644 --- a/saves.h +++ b/saves.h @@ -18,19 +18,15 @@ mxArray * getMexArray(const std::vector& v){ // saving the fluctuations of the populations inline void get_data(int counter, Thalamic_Column& Col, vector& Vt, vector& Vr, - vector& Cat, vector& Car, vector& Phi_tr, vector& Phi_rt, - vector& I_T_t, vector& I_T_r, vector& I_KCa, vector& I_CAN, - vector& I_h) { + vector& Ca, vector& Phi_tr, vector& Phi_rt, vector& I_T_t, + vector& I_T_r, vector& I_h) { Vt [counter] = Col.Vt [0]; Vr [counter] = Col.Vr [0]; - Cat [counter] = Col.Cat [0]; - Car [counter] = Col.Car [0]; + Ca [counter] = Col.Ca [0]; Phi_tr [counter] = Col.Phi_tr [0]; Phi_rt [counter] = Col.Phi_rt [0]; I_T_t [counter] = Col.I_T_t (0); I_T_r [counter] = Col.I_T_r (0); - I_KCa [counter] = Col.I_KCa (0); - I_CAN [counter] = Col.I_CAN (0); I_h [counter] = Col.I_h (0); } From 8e59dfa8e516d55ed7507d1ce0e6be08036a80b3 Mon Sep 17 00:00:00 2001 From: Schellenberger Date: Fri, 22 Nov 2013 13:42:52 +0100 Subject: [PATCH 3/4] Removed all unnecessary output. --- Plots.m | 32 +------------------------------- Spindle.png | Bin 26283 -> 0 bytes Thalamic_Column.h | 2 +- Thalamus.cpp | 16 ++-------------- parameters.h | 4 ++-- saves.h | 10 +--------- 6 files changed, 7 insertions(+), 57 deletions(-) delete mode 100644 Spindle.png diff --git a/Plots.m b/Plots.m index f103c37..c6e6064 100644 --- a/Plots.m +++ b/Plots.m @@ -11,7 +11,7 @@ function Plots(T, onset) onset = 10; end -[Vt, Vr, Ca, Phi_tr, Phi_rt, I_T_t, I_T_r, I_h] = Thalamus(Con, T, onset); +[Vt, Vr] = Thalamus(Con, T, onset); L = max(size(Vt)); timeaxis = linspace(0,T,L); @@ -22,36 +22,6 @@ function Plots(T, onset) subplot(212), plot(timeaxis,Vr) title('Inhibitory membrane voltage'), xlabel('time in s'), ylabel('Vr in mV') -% figure(1) -% subplot(411), plot(timeaxis, Vt) -% title('Thalamic relay membrane voltage'), xlabel('time in s'), ylabel('V_{t} in mV') -% subplot(412), plot(timeaxis, Vr) -% title('Thalamic reticular membrane voltage'), xlabel('time in s'), ylabel('V_{r} in mV') -% subplot(413), plot(timeaxis, Cat) -% title('TC Ca concentration'), xlabel('time in s'), ylabel('Ca in \muM') -% subplot(414), plot(timeaxis, Car) -% title('RE Ca concentration'), xlabel('time in s'), ylabel('Ca in \muM') - -%exportfig(gcf, 'TC_delta.png', 'Format', 'png', 'height', 11, 'Color', 'rgb', 'FontMode', 'fixed', 'FontSize', 22) -% -% figure(2) -% subplot(411), plot(timeaxis,I_T_r) -% title('RE I_{T} current '), xlabel('time in s'), ylabel('I_{T} in \muA cm^{-2}') -% subplot(412), plot(timeaxis,I_CAN) -% title('RE I_{CAN} current '), xlabel('time in s'), ylabel('I_{CAN} in \muA cm^{-2}') -% subplot(413), plot(timeaxis,I_KCa) -% title('RE I_{KCa} current '), xlabel('time in s'), ylabel('I_{KCa} in \muA cm^{-2}') -% subplot(414), plot(timeaxis,Phi_tr) -% title('TC input to RE'), xlabel('time in s'), ylabel('\Phi_{tr} in \muA cm^{-2}') -% -% figure(4) -% subplot(311), plot(timeaxis,I_T_t) -% title('TC I_{T} current '), xlabel('time in s'), ylabel('I_{T} in \muA cm^{-2}') -% subplot(312), plot(timeaxis,I_h) -% title('TC I_{h} current '), xlabel('time in s'), ylabel('I_{h} in \muA cm^{-2}') -% subplot(313), plot(timeaxis,Phi_rt) -% title('RE input to TC'), xlabel('time in s'), ylabel('\Phi_{rt} in \muA cm^{-2}') -% fs = L/T; NFFT = 2^nextpow2(L); diff --git a/Spindle.png b/Spindle.png deleted file mode 100644 index 51971cc7bb9e0b7f6e13e0776acb612816b589e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26283 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, 8)); + friend void get_data (int, Thalamic_Column&, _REPEAT(vector&, 2)); private: // population variables diff --git a/Thalamus.cpp b/Thalamus.cpp index d3aa0e4..a3a49b9 100644 --- a/Thalamus.cpp +++ b/Thalamus.cpp @@ -24,7 +24,7 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { double* Connectivity = mxGetPr (prhs[0]); const int T = (int)(mxGetScalar(prhs[1])); const int onset = (int)(mxGetScalar(prhs[2])); - double* var_stim = mxGetPr (prhs[3]); + //double* var_stim = mxGetPr (prhs[3]); const int Time = (T+onset)*res; @@ -43,18 +43,12 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { // setting up the data containers vector Vt (T*res); vector Vr (T*res); - vector Ca (T*res); - vector Phi_tr (T*res); - vector Phi_rt (T*res); - vector I_T_t (T*res); - vector I_T_r (T*res); - vector I_h (T*res); int count = 0; for (int t=0; t=onset*res){ - get_data(count, Col, Vt, Vr, Ca, Phi_tr, Phi_rt, I_T_t, I_T_r, I_h); + get_data(count, Col, Vt, Vr); ++count; } } @@ -62,11 +56,5 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { // output of the simulation plhs[0] = getMexArray(Vt); plhs[1] = getMexArray(Vr); - plhs[2] = getMexArray(Ca); - plhs[3] = getMexArray(Phi_tr); - plhs[4] = getMexArray(Phi_rt); - plhs[5] = getMexArray(I_T_t); - plhs[6] = getMexArray(I_T_r); - plhs[7] = getMexArray(I_h); return; } diff --git a/parameters.h b/parameters.h index 128357e..da5f3ec 100644 --- a/parameters.h +++ b/parameters.h @@ -31,7 +31,7 @@ // PSP rise time in ms^-1 #define gamma_t 70E-3 -#define gamma_r 100E-3 +#define gamma_r 58.6E-3 /*****************************************************************************************************/ /********************************** end **********************************/ /*****************************************************************************************************/ @@ -47,7 +47,7 @@ #define gLK_r 0.03 // I_T current -#define gTt 2.2 +#define gTt 3 #define gTr 2 // I_h current diff --git a/saves.h b/saves.h index 8a66bfe..c98b6c9 100644 --- a/saves.h +++ b/saves.h @@ -17,16 +17,8 @@ mxArray * getMexArray(const std::vector& v){ // saving the fluctuations of the populations -inline void get_data(int counter, Thalamic_Column& Col, vector& Vt, vector& Vr, - vector& Ca, vector& Phi_tr, vector& Phi_rt, vector& I_T_t, - vector& I_T_r, vector& I_h) { +inline void get_data(int counter, Thalamic_Column& Col, vector& Vt, vector& Vr) { Vt [counter] = Col.Vt [0]; Vr [counter] = Col.Vr [0]; - Ca [counter] = Col.Ca [0]; - Phi_tr [counter] = Col.Phi_tr [0]; - Phi_rt [counter] = Col.Phi_rt [0]; - I_T_t [counter] = Col.I_T_t (0); - I_T_r [counter] = Col.I_T_r (0); - I_h [counter] = Col.I_h (0); } From 6b88679da3900ae94725111325002649448cc7dd Mon Sep 17 00:00:00 2001 From: Schellenberger Date: Fri, 22 Nov 2013 14:17:35 +0100 Subject: [PATCH 4/4] Fixed the parameters. Showing extremely regular spindles. --- Plots.m | 6 +++--- Thalamus.mexa64 | Bin 37019 -> 37019 bytes parameters.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Plots.m b/Plots.m index c6e6064..6b45a86 100644 --- a/Plots.m +++ b/Plots.m @@ -4,9 +4,9 @@ function Plots(T, onset) if nargin == 0 - Con = [10; % N_tr - 15; % N_rt - 30]; % N_rr + Con = [20; % N_tr + 80; % N_rt + 80]; % N_rr T = 30; % duration of the simulation onset = 10; end diff --git a/Thalamus.mexa64 b/Thalamus.mexa64 index ed4daeb71e44ca06fb35c1b32f3f83d526cd3eb1..031b5a2beada90996c5db4d6860ad1c6b90fc8bb 100755 GIT binary patch delta 6645 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