Warm-up: The Population Equation
Before neurons, let's warm up with something familiar: a growing population (people, not neurons). It's the simplest differential equation, and it builds every intuition we'll need for the neuron.
The idea in words: how fast a population grows depends on how many people are already there. More people → more babies → faster growth. Written as a differential equation:
d p(t)/dt = α · p(t)
p(t) = the population at time t. α (alpha) = the birth rate.
In plain English, that equation reads:
"Change in population" = "birth rate α" × "current population."
This is exactly the compound-interest / bank-account equation. Swap "population" for "money" and "birth rate" for "interest rate" and it's the same self-feeding loop: the more you have, the faster you gain.
Why it's called a _linear_ differential equation. Look at the relationship between the change dp/dt and the population p: it's α · p — a straight line through the origin with slope α. When the rate-of-change graph is a line, we call the equation linear. (You'll see that line in the explorer two lessons from now.)
Reading the line (with α = 0.3): a population of 20 changes at a rate of 0.3 × 20 = 6. A population of 100 changes at 0.3 × 100 = 30. Bigger population → bigger change. The rate scales with the size — that's the whole personality of this equation.
See it yourself. Press Run to plot the differential equation — the change dp/dt against the population p:
import numpy as npimport matplotlib.pyplot as pltalpha = 0.3 # birth ratep = np.arange(0, 100, 1) # possible population sizesdpdt = alpha * p # the differential equation: dp/dt = alpha * pplt.figure(figsize=(6, 4))plt.plot(p, dpdt)plt.xlabel('population, p')plt.ylabel('change in population, dp/dt')plt.title('dp/dt = 0.3 * p (a straight line!)')plt.grid(True)plt.show()It's a straight line through the origin — that's exactly why we call it a LINEAR differential equation. Read off p=20 → 6 and p=100 → 30, just like above.