+10 XP

Turning On the Input

A resting neuron is boring. Let's open the tap — inject input current I — and watch the bucket fill. This input is what real neurons get from other neurons or from the senses.

Putting the input back gives the full subthreshold equation:

τ_m · dV/dt = −(V − E_L) + R_m · I

The leak pulls down toward E_L; the input R_m·I pushes up. They fight.

This next part is the genuinely tricky bit — so we won't just hand you the answer. Let's derive it together, one move at a time. Tap the correct next step; if you miss, just try again. By the end you'll have built the exact solution yourself, line by line. 👇

STEP 1 / 4

We start from the subthreshold equation: τ_m·dV/dt = −(V − E_L) + R_m·I. First, find the target the voltage drifts toward. It stops changing when dV/dt = 0, so set the right-hand side to zero and solve for V.

What is the target voltage V∞?

In plain words, the formula you just built says:

current voltage V(t) = the target it's heading for (V∞ = E_L + R_m·I) + (how far the start was from the target) × (an exponential that fades with rate 1/τ_m)

V begins at V_reset, and the gap to where it's headed shrinks exponentially — fast at first, slowing as it nears the target, basically arrived after a few τ_m.

Let's plug in real numbers and watch it. (These are NMA's values.)

• V_reset = −75 mV (starting voltage)
• E_L = −75 mV (resting level)
• τ_m = 10 ms (time constant)
• R_m = 10 MΩ, I = 10 nA → R_m·I = 100

So the target is V∞ = E_L + R_m·I = −75 + 100 = +25 mV. Hit Run to see the curve rise and flatten out. ↓

python
import numpy as np
import matplotlib.pyplot as plt
# Parameters (NMA's values)
V_reset = -75   # mV  — voltage at the start
E_L     = -75   # mV  — resting potential
tau_m   = 10    # ms  — membrane time constant
R_m     = 10    # MΩ  — membrane resistance
I       = 10    # nA  — injected current
t = np.linspace(0, 50, 500)        # time (ms)
V_inf = E_L + R_m * I              # the target / plateau
V = V_inf + (V_reset - V_inf) * np.exp(-t / tau_m)   # exact solution
plt.figure(figsize=(6, 4))
plt.plot(t, V, linewidth=2, label="V(t)")
plt.axhline(V_inf, color="red", linestyle="--", label=f"plateau V∞ = {V_inf} mV")
plt.xlabel("time (ms)")
plt.ylabel("membrane potential V (mV)")
plt.title("LIF exact solution: rises, then plateaus")
plt.legend()
plt.show()

Press Run — V climbs from −75 mV and flattens out at the red target (+25 mV). Try changing I to a bigger number and run again: the plateau goes even higher.

Does this make biological sense? Look at the plot: crank I up and the voltage just rises and plateaus at some high value forever. Real neurons never do that — they spike and snap back. The pure equation is mathematically perfect but biologically wrong. Fixing that is the next lesson — and it's what the 'Fire' in Integrate-and-Fire means.