source: project/release/4/9ML-toolkit/trunk/examples/Destexhe94.9ML @ 21581

Last change on this file since 21581 was 21581, checked in by Ivan Raikov, 10 years ago

9ML-toolkit: added new examples

File size: 1.7 KB
Line 
1(*
2
3    An efficient method for computing synaptic conductances based on a
4    kinetic model of receptor binding, Destexhe, A and Mainen, Z and Sejnowski, T.J.
5 
6    Neural Computation 6: 10-14, 1994.
7
8
9 1. during the pulse (from t=t0 to t=t1), C = Cmax, which gives:
10
11   R(t-t0) = Rinf + [ R(t0) - Rinf ] * exp (- (t-t0) / Rtau )           
12
13 where
14   Rinf = Alpha * Cmax / (Alpha * Cmax + Beta)
15 and
16   Rtau = 1 / (Alpha * Cmax + Beta)
17
18 2. after the pulse (t>t1), C = 0, and one can write:
19
20    R(t-t1) = R(t1) * exp (- Beta * (t-t1) )                           
21*)
22
23component Destexhe94 =
24struct
25
26  binding construct t t0 t1 R R0 R1 R_ss R_tau Alpha Beta C_dur spike endrelease =
27
28   (* on-regime: during the pulse, t \in [t0,t1] *)
29   binding on_regime = [
30                         [ R          = R_ss + ((R0 - R_ss) * (exp (neg ((t - t0) / R_tau)))) ]
31                         [ endrelease = t > t1 ]
32                         [ spike      = spike ]
33                       ]
34
35   (* transient between off and on regimes: sets t0 and t1 to indicate pulse boundaries *)
36   binding off_on  =  [
37                        [ t0 = t ]
38                        [ t1 = t + C_dur ]
39                        [ R0 = R ]
40                        [ R1 = R1 ]
41                      ]
42
43    (* off-regime: after the pulse, t > t1 *)
44    binding off_regime =  [
45                             [ R          = R1 * (exp (neg ((t - t1) * Beta))) ]
46                             [ endrelease = false ]
47                             [ spike      = spike ]
48                          ]
49 
50    (* transient between on and off regimes: *)
51    binding on_off =  [ R1 = R ]
52
53    return Diagram.RTRANSITION (Diagram.TRANSIENT on_off off_regime endrelease )
54                               (Diagram.TRANSIENT off_on on_regime spike )
55                               spike endrelease
56
57end
Note: See TracBrowser for help on using the repository browser.