This repository contains a Python implementation of the Izhikevich neuron model to simulate Regular Spiking (RS) neurons.
- Introduction
- Requirements
- Code Structure
- How the Code Works
- Running the Notebook
- Example Plots
- References
The Izhikevich neuron model is a mathematical representation of cortical spiking neurons. This simulation studies the RS neuron's response to varying external input levels.
- Python 3.x
- NumPy
- Matplotlib
- Jupyter Notebook
Problem2.ipynb
: Interactive Jupyter Notebook for simulation and plotting
The code starts by importing necessary libraries:
numpy
for numerical computationsmatplotlib.pyplot
for plotting
The Izhikevich model is implemented using two coupled differential equations:
- Equation (1):
dv/dt = 0.04v^2 + 5v + 140 - u + I(t)
- Equation (2):
du/dt = a(bv - u)
with the condition:
if v >= 30, v = c, u = u + d
The simulation parameters are:
a
,b
,c
,d
: Izhikevich model parametersI_values
: array of external input levelssteps
: number of simulation stepstau
: time step
The simulation loop iterates over:
- External input levels (
I_values
) - Time steps (
steps
)
The code generates two plots:
- Membrane potential time-series for varying input levels
- Mean spike rate vs. input level plot
- Clone the repository:
git clone https://github.com/fardeen0424/Izhikevich-Neuron-Model-Simulation
- Install required libraries:
pip install numpy matplotlib
- Run Jupyter Notebook:
jupyter notebook Problem2.ipynb
- Run Jupyter Notebook:
jupyter notebook Problem3.ipynb
- Follow instructions in the notebook to simulate and plot RS neuron behavior
- Izhikevich, E. M. (2003). Simple model of spiking neurons. IEEE Transactions on Neural Networks, 14(6), 1569-1572.
- Izhikevich, E. M. (2004). Which model to use for cortical spiking neurons? IEEE Transactions on Neural Networks, 15(5), 1063-1070.