Answer Booklet · IBDP Mathematics AA · HL · 5.9 & 5.16

The Fox & the Rabbit
Teacher Answers

Not for distribution · Full worked solutions + BTC facilitation notes
🔐 Unlock Codes (case-insensitive)
Phase 1 → 2
RABBIT01
Phase 2 → 3
EQUIL02
Phase 3 → 4
EULER03
Phase 4 → Done
CYCLE04
1

Separable ODEs — Each Population Alone

HL 5.9 · ~15 min on VNPS
Task 1a Rabbits without predators — \(F=0\)

Setting \(F=0\) reduces the rabbit equation to a separable first-order ODE:

$$\frac{dR}{dt} = 0.07R$$

Separating variables and integrating:

$$\frac{dR}{R} = 0.07\,dt \implies \int\frac{dR}{R} = \int 0.07\,dt \implies \ln R = 0.07t + C$$
$$\boxed{R(t) = R_0\,e^{0.07t}}$$
Answer: \(R(t)=R_0\,e^{0.07t}\) — unbounded exponential growth. As \(t\to\infty,\ R\to\infty\).

\(k=0.07\) is the intrinsic per-capita growth rate (approximately 7% per month). Without predators, nothing prevents the population from growing without bound.

Graph of \(R(t) = R_0\,e^{0.07t}\) — exponential growth (\(F=0\))
Consolidation point: This is the canonical separable ODE from 5.9. The skill transfers directly — only the variable names change. Emphasise the \(e^C \to A\) absorbing-constant convention and the initial condition substitution.
Task 1b Foxes without prey — \(R=0\)

Setting \(R=0\) gives:

$$\frac{dF}{dt} = -0.03F$$

Separating variables:

$$\frac{dF}{F} = -0.03\,dt \implies \ln F = -0.03t + C \implies \boxed{F(t)=F_0\,e^{-0.03t}}$$
Answer: \(F(t)=F_0\,e^{-0.03t}\) — exponential decay. As \(t\to\infty,\ F\to 0\).

Without rabbits to eat, foxes starve to extinction. \(r=0.03\) is the per-capita natural death rate. The negative sign drives decay — biologically sensible since foxes are obligate carnivores in this model.

Graph of \(F(t) = F_0\,e^{-0.03t}\) — exponential decay (\(R=0\))
BTC note: Students often flip the sign. Ask at the board: "What does \(F(t)\) approach as \(t\to\infty\)? Does that match what would happen in the real park?"
Task 1c Why the product \(RF\,\)?

The interaction rate depends on the frequency of encounters between foxes and rabbits. If the rabbit population doubles, encounters double; if the fox population doubles, encounters also double. Therefore encounters \(\propto R \times F\) — this is the mass-action principle from chemical kinetics, applied to ecology.

Why \(b \ll a\,\)? The constant \(a = 0.002\) is the rate at which encounters remove rabbits (each successful hunt kills a rabbit). The constant \(b = 0.00004\) is the rate at which encounters produce new foxes — only a small fraction of each rabbit meal is converted into fox biomass (ecological energy efficiency is roughly 10%). Hence \(b \approx 0.00004 \ll a = 0.002\).

Discussion: "Is this model assuming foxes only eat rabbits? What else might affect this ratio in a real park?"
Task 1d Why the system is coupled

No — we cannot solve the rabbit equation independently when \(F\ne 0\). The full equation is:

$$\frac{dR}{dt} = 0.07R - 0.002R\,F(t)$$

This contains \(F(t)\), which is itself an unknown function of time. To find \(R(t)\) we would need \(F(t)\), but finding \(F(t)\) requires knowing \(R(t)\) — a circular dependency. This is what coupled means. The system cannot be reduced to two independent single-variable ODEs, which is why no closed-form solution exists and numerical methods such as Euler's method are required.

2

Finding Equilibrium

HL 5.9 · ~12 min on VNPS
Task 2a Equilibrium conditions

At equilibrium both populations are constant, so both derivatives equal zero:

$$\frac{dR}{dt} = 0 \implies 0.07R - 0.002RF = 0$$ $$\frac{dF}{dt} = 0 \implies -0.03F + 0.00004RF = 0$$
Task 2b Find all equilibrium points

Factor each equation by extracting the common factor:

$$R\,(0.07 - 0.002F) = 0 \implies R = 0 \quad\text{or}\quad F = \frac{0.07}{0.002} = 35$$ $$F\,(-0.03 + 0.00004R) = 0 \implies F = 0 \quad\text{or}\quad R = \frac{0.03}{0.00004} = 750$$

Combining all solutions gives two equilibrium points:

$$\textbf{Equilibrium 1 (trivial):}\quad (R,F) = (0,\,0)$$ $$\textbf{Equilibrium 2 (non-trivial):}\quad (R,F) = (750,\,35)$$

Trivial equilibrium \((0,0)\): Both species extinct. Biologically meaningful (total collapse is possible) but ecologically catastrophic. A park ranger would consider this the worst-case outcome.

Non-trivial equilibrium \((750,35)\): Both species coexist in perpetual balance — 750 rabbits and 35 foxes. This is the ecologically interesting point: it represents a sustainable ecosystem state. In general:

$$R_{\text{eq}} = \frac{r}{b} = \frac{0.03}{0.00004} = 750 \qquad F_{\text{eq}} = \frac{k}{a} = \frac{0.07}{0.002} = 35$$

Notice the counterintuitive result: the rabbit equilibrium \(R_{\text{eq}} = r/b\) depends only on fox parameters, and vice versa.

Common error: Students mix factors across equations — e.g. taking \(R=0\) from the first and \(R=750\) from the second simultaneously. Remind them each equation yields its own pair of factors independently. The four combinations are \((0,0)\), \((0,35)\) — invalid since \(R=0\) forces \(F=0\) in steady state — \((750,0)\) — invalid similarly — and \((750,35)\).

BTC consolidation: Ask a group to present the factoring step. Then challenge: "What happens to \(R_{\text{eq}}\) if you increase \(b\,\)? Does the answer make intuitive sense?"
Task 2c Interpretation at \((R_{\text{eq}},\,F_{\text{eq}})\)

At \((750,35)\) both derivatives equal zero — neither population changes. The system stays at exactly 750 rabbits and 35 foxes forever.

For the ranger: "If the park has exactly 750 rabbits and 35 foxes today, the numbers will be exactly the same this time next year — and every year after that."

3

Euler's Method — Numerical Trajectories

HL 5.16 · ~20 min on VNPS + GDC
Tasks 3a–3b Rate functions and Euler recursion formulas

The two rate functions (using the given constants):

$$f(R,F) = \frac{dR}{dt} = 0.07R - 0.002RF$$ $$g(R,F) = \frac{dF}{dt} = -0.03F + 0.00004RF$$

Applying Euler's method with step size \(h=1\):

$$R_{n+1} = R_n + f(R_n,F_n) = R_n + 0.07R_n - 0.002R_nF_n$$ $$F_{n+1} = F_n + g(R_n,F_n) = F_n - 0.03F_n + 0.00004R_nF_n$$
Key point: Both updates use \(R_n\) and \(F_n\) from the same step — not the updated \(R_{n+1}\). Students often instinctively substitute the newly computed \(R_{n+1}\) into the fox formula. Catch this at the boards.
Task 3c Two steps by hand — \(R_0 = 850,\ F_0 = 35\)

Initial conditions: \(R_0 = R_{\text{eq}} + 100 = 850\), \(F_0 = F_{\text{eq}} = 35\).

\(n\) \(R_n\) \(F_n\) \(\dfrac{dR}{dt}\) \(\dfrac{dF}{dt}\) \(R_{n+1}\) \(F_{n+1}\)
0 850 35 0.07(850) − 0.002(850)(35)
= 59.5 − 59.5 = 0
−0.03(35) + 0.00004(850)(35)
= −1.05 + 1.19 = 0.14
850 35.14
1 850 35.14 0.07(850) − 0.002(850)(35.14)
= 59.5 − 59.738 = −0.238
−0.03(35.14) + 0.00004(850)(35.14)
= −1.054 + 1.195 = 0.141
849.762 35.281

Note: at \(n=0\), \(dR/dt = 0\) exactly. This is because \(F_0 = F_{\text{eq}} = 35\), which keeps the rabbit growth term in perfect balance. Only the fox population begins to grow (foxes have exactly the right number of rabbits to reproduce).

Interesting moment for consolidation: Point out the zero derivative at \(n=0\). Ask: "Why does \(R\) not change in the first step even though \(R_0 \ne R_{\text{eq}}\)?" — because it is \(F\), not \(R\), that determines the rabbit rate of change at the equilibrium fox level.
Tasks 3d–3e GDC trajectories & phase portrait

All three trajectories form approximate closed loops (ovals) centred near the non-trivial equilibrium \((750,\,35)\). They cycle counterclockwise (with \(R\) on the horizontal axis, \(F\) vertical). Different starting points produce nested loops — they do not cross.

Reference phase portrait — three trajectories (schematic; student plots will be numerical)
R F rabbits foxes 750 1500 3000 4500 35 75 125 150 (750, 35) (0, 0) start (850, 35) start (750, 70) start (3000, 20) ↺ counterclockwise Case 1 — start (850, 35) Case A — start (750, 70) Case B — start (3000, 20)
  • Case 1 \((850,35)\): small tight loop close to equilibrium — short period (~70 months)
  • Case A \((750,70)\): medium loop — foxes start double, rabbits initially decline under heavy predation, then foxes starve and rabbits recover
  • Case B \((3000,20)\): largest loop — rabbits surge first, fox population booms, then rabbits crash, foxes crash, cycle repeats — longest period (~100+ months)

Trajectories do not cross one another (uniqueness of solutions — though students are not expected to know this). Larger loops correspond to longer periods.

BTC debrief: Walk the class along a board that drew Case B. Ask: "Which direction are the arrows? What is happening to rabbits when we are on the right side? On the top?" This builds the ecological story organically from the students' own work.
4

Interpretation, Critique & Extension

HL modelling · ~15 min discussion + boards
Task 4a Reading the phase portrait

(i) All trajectories are approximately closed loops cycling counterclockwise. Long-term behaviour: perpetual oscillation — populations never go extinct and never explode in the idealised model.

(ii) Smallest loop (Case 1, close to equilibrium) → shortest period (~70 months ≈ 6 years). Largest loop (Case B, far from equilibrium) → longest period (~100+ months ≈ 8+ years).

(iii) For \((2000,\,80)\): we have \(R = 2000 > R_{\text{eq}} = 750\) and \(F = 80 > F_{\text{eq}} = 35\). This point lies in the upper-right region of the portrait. Following the counterclockwise direction: rabbits are declining (excess foxes are eating them) and foxes are near their peak before they too will decline. Prediction: rabbit numbers drop over the next several months.

Phase portrait: locating \((2000,\,80)\) and reading direction of change
Accept: Any qualitatively correct reading. Students should identify which quadrant relative to the equilibrium the point lies in and use the counterclockwise direction to determine the sign of change.
Task 4b Ecological story — Case B \((3000,\,20)\)
Task 4c Phase portrait vs. time graphs

Two separate time-graphs \(R(t)\) and \(F(t)\) show each species oscillating individually — you can see each population's cycle but not how the two relate to each other at each instant.

The phase portrait shows the simultaneous relationship between the two populations. It reveals: the direction of change at any ecosystem state; which regions lead to predator collapse or prey explosion; the nested-loop structure confirming perpetual coexistence; and makes the equilibrium point visually obvious as the centre around which all trajectories orbit.

Specific example: from the portrait we can immediately read that a state like \((2000,80)\) means rabbits are declining, without needing to compute \(t\)-values. The time-graphs would require identifying the exact \(t\) at which the populations reach those values and then checking the slope — far less direct.

Task 4d Model critique

(i) Real-world factors ignored (accept any three):

(ii) Euler's method error: Step size \(h=1\) month may be too large — the method accumulates truncation error each step, causing the trajectory to drift away from the true closed loop (which should be perfectly closed). Reducing \(h\) (e.g. \(h=0.1\)) gives more accurate results. Using a higher-order method (e.g. Runge-Kutta 4) would also reduce error dramatically.

(iii) Effect of reducing \(k\):

$$F_{\text{eq}} = \frac{k}{a} \quad\Rightarrow\quad \text{if }k\text{ decreases, }F_{\text{eq}}\text{ decreases (fewer foxes sustained)}$$ $$R_{\text{eq}} = \frac{r}{b} \quad\Rightarrow\quad \text{unchanged (depends only on fox parameters)}$$

So hunting (reducing \(k\)) paradoxically does not change the rabbit equilibrium — it only reduces the fox equilibrium. The park sustains fewer foxes, not more rabbits, at the new steady state.

IB modelling link: This critique maps directly onto the IA modelling criteria. Excellent practice for any student considering differential equations in their exploration.
Task 4e — Extension Starting exactly at \((R_{\text{eq}},\,F_{\text{eq}})\)

Compute the derivatives at \((750,\,35)\):

$$\frac{dR}{dt} = 0.07(750) - 0.002(750)(35) = 52.5 - 52.5 = 0$$ $$\frac{dF}{dt} = -0.03(35) + 0.00004(750)(35) = -1.05 + 1.05 = 0$$

One Euler step gives:

$$R_1 = 750 + 1\times 0 = 750 \qquad F_1 = 35 + 1\times 0 = 35$$
The system stays at \((750,\,35)\) — confirming it is a genuine equilibrium point. In practice a GDC may introduce tiny floating-point drift, which is itself instructive.

Period estimates from the phase portrait:

Larger loops take longer to complete — the period increases with the amplitude of the oscillation, unlike a simple harmonic oscillator (where period is independent of amplitude).