CSE/NB 528 Homework 3: Modeling Neurons and Networks

(Due Date: Sunday May 26, 2013 before midnight)


Submission Procedure:
Create a Zip file called "528-hw3-lastname-firstname" containing the following:
(1) Document with write-up containing your answers to any questions asked in each exercise, 
     as well as any figures, plots, or graphs supporting your answers,
(2) Your Matlab program files,
(3) Any other supporting material needed to understand/run your solutions in Matlab.
Upload your Zip file to this dropbox.
Upload your file by 11:59pm Sunday, May 26, 2013. 
Late submission policy is here.


The first three exercises will take you from modeling simple passive membranes and integrate-
and-fire neurons to modeling synapses. These exercises will provide you with a basic set of 
"starter code" you could use for investigating potential research questions such as 
temporal versus rate-based coding and synaptic plasticity. 
The last exercise introduces you to stability and dynamics of recurrent networks.
1.    (Fun with membranes; 20 points) Download and run the following Matlab code for 
        modeling a passive neuronal membrane as an RC-circuit: membrane.m
This code demonstrates how a membrane responds to a constant current input that is 
turned on for a fixed time interval and then turned off.
a.  Change the values for the membrane's resistance and capacitance (R and C), 
and find out how this influences the response of the membrane. Does it reach a 
stable value more quickly or more slowly after:
           i.  multiplying R by 5
                          ii. dividing C by 10
                          iii. multiplying R by 10 AND dividing C by 10?
b.    An experimental method for calculating a membrane’s time constant tau (when R 
and/or C are not known) is to start at zero and record the time at which the membrane 
potential V reaches a value approximately equal to 0.6321*V_peak= 0.6321*(I*R), where 
I is the constant injected current. Check if this method works by injecting different 
amounts of current I and changing the values for R and C. Once you’ve convinced 
yourself that the experimental tau appears to be identical to the theoretical tau (= RC) in all 
these cases, provide a theoretical justification for why this method works. (Hint: Derive a 
closed form exponential equation for V(t) by solving the differential equation for V and 
find the value of V at time t = tau).
2.    (Get fired up about Integrate-and-Fire neurons; 25 points) Run the following Matlab 
        code for modeling an integrate-and-fire neuron: intfire.m
a.     Vary the input current gradually from very low to high values and find out the
           minimum current needed to cause the neuron to spike.
b.    What is the maximum firing rate (spike count/trial duration) of this neuron and 
           how is it related to the absolute refractory period “abs_ref” in the code? 
c.     Plot a graph showing input current versus the output firing rate of the neuron.
d.    Instead of feeding constant input, make the current I a sinusoidal function of 
           time: I = sin((1:tstop)*f); where f is the input frequency. Plot a graph showing 
           the output firing rate as a function of input frequency.
e.     Find the “resonant frequency” (if any) where the neuron “tracks” the input by 
           firing exactly 1 spike for each peak in the input.
3.    (Get to know an Alpha Synapse; 25 points) Here's some code for simulating an 
        integrate-and-fire neuron receiving input spikes through an alpha synapse: 
The parameter “t_peak” controls when the alpha function peaks after an input spike 
occurs (and hence how long the effects of an input spike linger on in the postsynaptic 
neuron). “t_peak” for excitatory synapses in the brain may vary from 0.5 ms (AMPA 
or non-NMDA) to 40 ms (NMDA synapse). 
a.     Vary the value of t_peak from 0.5 ms to 10 ms in steps of 0.5 ms and observe 
           how this influences the output of the neuron for the fixed input spike train used 
           in this code. Plot the output spike count as a function of t_peak for the given 
           input spike train.
b.    Fix t_peak = 0.5 ms. Change the input firing rate by varying the threshold 
           parameterthr” from 0.7 to 0.95 in steps of 0.05. For each value of “thr”, 
           repeat the experiment 5 times with different random input spike trains. Record 
           both the output and the input firing rates in each case. Plot the average output 
           firing rate as a function of average input firing rate at each value of “thr”. Is the 
           shape of this input-versus-output plot similar to or different from the plot in 
c.     How would you turn this synapse into an inhibitory synapse? (Hint: See lecture slide and
      think about the role of the equilibrium (aka reversal) potential of a synapse). Make the 
           necessary change to the code such that the random input spike train in 3a 
           (stored in “spike_train”) now acts through an inhibitory synapse.  Add a 
           constant current input to the neuron that is sufficient to cause it to spike with a
           high firing rate of about 150 Hz in the absence of inhibitory inputs. Now turn 
           on the inhibitory input spike train and vary the value of t_peak from 1 ms to 15 
           ms in steps of 2 ms (with g_peak = 0.05 as in 3a). Plot the output spike count 
           as a function of t_peak for the given input spike train.
4.    (Being Nonlinear and Recurrent; 30 points) Write Matlab code and answer the questions in
Exercise 4 from Chapter 7 in the textbook as described in the file c7.pdf. 
Create figures reproducing Figures 7.18 and 7.19 in the textbook using your code, and include
additional example figures to illustrate the effects of varying the value of tauI.
(The following files implement a nonlinear recurrent network in Matlab: c7p5.m and
c7p5sub.m. These files are for Exercise 5 in c7.pdf but you can modify them and use them for
Exercise 4. For an analytical derivation of the stability matrix, see Lecture Slides and
Mathematical Appendix Section A.3 in the text).