Euler's Method for Coupled Systems
Many real-world phenomena involve two or more quantities that change simultaneously and influence each other. Population biology, epidemiology, and chemistry all produce systems where you cannot track one variable without tracking the others. Mathematically, these situations lead to coupled systems of first-order ordinary differential equations (ODEs): two (or more) equations that must be solved together because each derivative depends on all the unknowns at once. Euler's method, the simplest numerical integration technique, extends naturally from a single ODE to a coupled system. Instead of updating one variable at each time step, you update all variables simultaneously, using the current values of every variable to compute every derivative. This 'march forward in time' approach lets you approximate solutions even when no exact algebraic formula exists — which is almost always the case for nonlinear coupled systems. Two famous examples drive the study of coupled systems at the high school level. The Lotka–Volterra predator-prey model tracks how rabbit and fox populations rise and fall together, while the SIR epidemiological model tracks how a disease spreads through Susceptible, Infected, and Recovered compartments. Both are nonlinear and have no closed-form solution, making numerical methods essential tools rather than optional shortcuts.
- Write the system in standard form
- Choose a step size h
- Apply the simultaneous update rule
- Advance time and repeat
- Interpret the output
Write the system in standard form
Express all equations as dx/dt = f(t, x, y) and dy/dt = g(t, x, y), where x and y are the two unknowns (e.g., prey and predator populations). Every derivative must be written explicitly in terms of the current time and the current state of the entire system.
Choose a step size h
The step size h (measured in the same units as t, often years or days) controls accuracy. Smaller h gives better approximations but requires more computation. A common choice for classroom work is h = 0.1 or h = 0.05. The local truncation error for Euler's method is proportional to h², and the global error across n steps is proportional to h, so halving h roughly halves the error over the whole interval.
Apply the simultaneous update rule
At each step n, compute both derivatives using the current values (t_n, x_n, y_n), then update both variables at the same time: x_{n+1} = x_n + h · f(t_n, x_n, y_n) and y_{n+1} = y_n + h · g(t_n, x_n, y_n). Crucially, you must NOT use the newly computed x_{n+1} when computing y_{n+1} in the same step — both updates use the old values. This is what makes the system 'coupled' in the numerical sense.
Advance time and repeat
Set t_{n+1} = t_n + h, then use (t_{n+1}, x_{n+1}, y_{n+1}) as the starting point for the next step. Continue until you reach the desired end time T. The result is a sequence of points that traces an approximate solution curve (or phase-plane trajectory) of the system.
Interpret the output
You can plot x and y separately against t (time-series plot) to see oscillations, or plot y versus x (phase-plane portrait) to see the trajectory loop around an equilibrium. For predator-prey models the trajectory is a closed curve; for SIR models it spirals toward a disease-free or endemic equilibrium depending on parameters.
The Key Equation
- x_n,\, y_n — State variables at step n (problem-dependent (e.g., individuals)): The approximate values of the two coupled unknowns at time t_n.
- h — Step size (time units (e.g., years)): The fixed increment in time between successive approximations. Smaller h increases accuracy but increases computation.
- f,\, g — Rate functions (state units per time unit): The right-hand sides of the ODE system: f = dx/dt and g = dy/dt, each a function of the current time and both state variables.
- t_n — Current time (time units): The time corresponding to the nth step, so t_n = t_0 + n h.
Worked Example
Problem. A simplified predator-prey model has dx/dt = 0.4x − 0.02xy (rabbits x, thousands) and dy/dt = −0.3y + 0.01xy (foxes y, thousands). Starting at t = 0 with x₀ = 10 and y₀ = 5, use Euler's method with h = 0.5 to approximate (x, y) at t = 0.5 and t = 1.0.
Answer. At t = 0.5: approximately 11,500 rabbits and 4,500 foxes. At t = 1.0: approximately 13,280 rabbits and 4,080 foxes.
Origins · 1 minLeonhard Euler and how this was discovered
Euler developed his eponymous numerical method around 1768 as part of his work on integral calculus and the theory of differential equations. Published in his three-volume 'Institutionum calculi integralis', the method was the first systematic algorithm for approximating solutions to ODEs and remains the foundation on which all higher-order numerical methods (Runge-Kutta, Adams-Bashforth) are built. Euler also made foundational contributions to graph theory, number theory, complex analysis, and mechanics — often while completely blind in the last seventeen years of his life. Euler was so prolific that the publication of his complete works, begun in 1911, has so far filled over 80 volumes and is still not finished.
Related Concepts
- Euler's Method for a Single ODE — The coupled system version is a direct generalisation of single-variable Euler's method; mastering the scalar case first makes the vector extension clear.
- Slope Fields and Direction Fields — Slope fields provide the geometric picture that Euler's method approximates numerically; for coupled systems they become vector fields in the phase plane.
- Separable Differential Equations — Understanding how to solve simpler ODEs exactly gives context for why numerical methods are needed when equations are coupled and nonlinear.
- Equilibrium Points of ODE Systems — Euler's method trajectories orbit or converge to equilibria; identifying these points analytically complements numerical exploration.
- Runge-Kutta Methods — RK4 is the standard improvement over Euler's method for coupled systems, achieving much greater accuracy with the same conceptual framework of slope averaging.