Deterministic population dynamics · 2
Continuous-time logistic model
dx/dt = rm x (1 − x)
- x
- population as a share of the carrying capacity K (x = N/K); it can start above 1
- rm
- the largest growth rate per head (births − deaths, per unit time) when the population is tiny
- (1 − x)
- crowding: the growth rate per head falls linearly and reaches 0 at K
- t
- continuous time: births and deaths happen all the time, generations overlap
- Δt
- the step of the Euler method in the owner's code: xn+1 = xn + rmΔt xn(1 − xn)
Trajectory
Phase line
The growth rate dx/dt for every density x: where it is above zero the population grows, where it is below it shrinks.
Growth rate over time
How fast the population changes along the exact curve, from x0 to K.
The theory, in short
- Assumptions. Time is continuous; the population is large and well mixed (a mean field); no age or sex structure; births and deaths are spread evenly over time; only births and deaths change it (closed); the growth rate per head falls linearly with crowding, r = rm(1 − N/K).
- The model. Over a short time Δt, Δx ≈ rm x(1 − x) Δt; letting Δt → 0 gives dx/dt = rm x(1 − x).
- Equilibria. x* = 0 and x* = 1 (N* = K). With f ′(x) = rm(1 − 2x): f ′(0) = rm > 0, so 0 is unstable; f ′(1) = −rm < 0, so K is stable.
- Exact solution. x(t) = 1 / (1 + (1/x0 − 1) e−rmt): an S-curve from below, a smooth decline from above. It never crosses K.
- Fastest growth is rm/4, at x = ½, reached at t = ln((1 − x0)/x0)/rm (for x0 < ½).
- No oscillations. Unlike card 1 (non-overlapping generations), the continuous model cannot overshoot: its only change of behaviour is at rm = 0, where 0 and K swap stability.
- The Euler method xn+1 = xn + rmΔt xn(1 − xn) is card 1's map with R = 1 + rmΔt, in the rescaled variable z = rmΔt x/R (then zn+1 = R zn(1 − zn)). A large step therefore shows overshoot, cycles and chaos that belong to the method, not to the model; keep rmΔt well below 1.
- Negative rm. The README allows rm < 0 (then K < 0 in its notation); the sliders keep rm ≥ 0, where K is a real carrying capacity. If births never exceed deaths the population simply declines to 0.