The following is an implementation of the Izhikevich Neuron in R. More details can be found at Eugene Izhikevich’s webpage.

Essentially, the Izhikevich model seeks to balance realistic modeling of neuronal membrane dynamics with computational efficiency. The model is a set of coupled differential equations:

and

Where

• $v$ is a dimensionless variable representing membrane potential
• $u$ is a dimensionless variable representing membrane potential recovery
• $a$ is a dimensionless parameter representing the time scale of $u$
• $b$ is a dimensionless parameter representing the sensitivity of $u$ to subthreshold fluctuations in $v$
• $c$ is a dimensionless parameter representing the after-spike reset value of $v$ (caused by fast high-threshold $K^{+}$ conductance)
• $d$ is a dimensionless parameter representing the after-spike reset value of $u$ (caused by slow high-threshold $Na^{+}$ and $K^{+}$ conductances)
• $I$ is an externally applied current

Setting the parameters $a = 0.02$, $b = 0.2$, $c = -65$, and $d = 2$, we will generate a fast-spiking neuron simulation.

Of particular interest is that other neuron types can be simulated by adjusting the model parameters. For instance, setting the parameters $a = 0.02$, $b = 0.2$, $c = -50$, and $d = 2$ will generate a chattering neuron.

Parameters for further neuron types may be found at Eugene Izhikevich’s page (link above).