Write a loop to calculate firing rate for a range of membrane conductances from .01 to .5 (in steps of .01) for a leaky integrate-and-fire neuron over a 30 second trial. The membrane potential should start at the reset potential. Plot the firing rate versus the membrane time constant, label the axes, and print a statement describing the plot: how does the time constant impact the firing rate? Why? g_range = np.arange(.01, .51, .01) # mS / square centimeter rates = [ ] C = 20 # specific membrane capacitance, microFarads per square centimeter E = -49 # reversal potential, mV V_threshold = -50 # mV V_reset = -80 # mV dt = 0.1 # ms total_sim_time = 30000 num_time_steps = int(30000 / 0.1) for g in g_range:    tau =    V = np.zeros((num_time_steps)) V[0] = V_reset spike_times = [] for i in range(1, num_time_steps): dV = V[i] = V[i-1] + if V[i] > V_threshold: spike_times.append() V[i] =    num_spikes = rate_for_this_g =    rates.append( ) # append the firing rate with this value of the membrane conducta

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write a loop to calculate firing rate for a range of membrane conductances from .01 to .5 (in steps of .01) for a leaky integrate-and-fire neuron over a 30 second trial. The membrane potential should start at the reset potential. Plot the firing rate versus the membrane time constant, label the axes, and print a statement describing the plot: how does the time constant impact the firing rate? Why?

g_range = np.arange(.01, .51, .01) # mS / square centimeter
rates = [ ]

C = 20 # specific membrane capacitance, microFarads per square centimeter
E = -49 # reversal potential, mV
V_threshold = -50 # mV
V_reset = -80 # mV

dt = 0.1 # ms
total_sim_time = 30000
num_time_steps = int(30000 / 0.1)

for g in g_range:
  
tau =
  
V = np.zeros((num_time_steps))
V[0] = V_reset

spike_times = []

for i in range(1, num_time_steps):

dV =
V[i] = V[i-1] +

if V[i] > V_threshold:
spike_times.append()
V[i] =
  
num_spikes =
rate_for_this_g =
  
rates.append( ) # append the firing rate with this value of the membrane conductance

Expert Solution
steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Matrix multiplication
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education