Population dynamics is often modeled using ODE. For example one common model is logistic growth model:

$$\frac{dx}{dt} = k.x.\left(1-\frac{x}{C}\right)$$

where x is population size, k is rate constant for growth, C is carrying capacity.

But population is a discrete variable. It is not continuous. It always takes whole numbers. You can have a population of 3000 fish, but not 3001.2 fish.

Then how can one use population as a dependent variable in a differential equation?

Integration of the ODE, given above, will give me a function to calculate size of population, x(t), at time t, when size of the population at t = 0, was x0. We can specify a whole number for x0. Here, x(t) can be a real number with fraction, but a population size is always a whole number.

How does one tackle this anomaly?


3 Answers 3


You can make the continuous approximation when the population size is large. As mentioned by arboviral, there are algorithms that allow you to perform stochastic simulations with discrete variables. However, these are computationally much more intensive than integration of ODEs. Moreover, analytical solutions for the master-equations (time evolution of probabilities) are very difficult to calculate. Therefore, whenever possible, people go for ODE-based continuous models.

These models would give incorrect representation of the dynamics for small populations and fail to explain phenomena such as extinction. However, they can explain the dynamics of large populations fairly well. So the choice of the modelling approach depends on the questions you want to ask and the complexity/computational cost of the model.

  • $\begingroup$ +1 To cite a famous example of continuous approximations, there are the diffusion equation approach to markov models such as those used by Kimura. $\endgroup$
    – Remi.b
    Commented Aug 10, 2016 at 14:53
  • $\begingroup$ @Remi.b yes. And diffusion equations are also used for migration models. $\endgroup$
    Commented Aug 10, 2016 at 16:47
  • $\begingroup$ Isn't this the basis of calculcus, that you can approximate things by computing the limits of smaller and smaller divisions? And aren't many differential equations applied to things like fluid flows that are fundamentally discrete (being made of atoms), but can be approximated very closely by assuming they're continuous? $\endgroup$
    – jamesqf
    Commented Nov 11, 2017 at 18:45

I'd hardly call myself an expert on this topic by any stretch of the imagination, but you can actually come up with good approximations based on ODE-based models by rounding off to the nearest whole number (assuming that your populations are sufficiently large). The key word is "approximation" - it's not actually all that big of a deal to have to round your number when you realize that 3001.2 is just an approximation to begin with. You're not predicting that there will be exactly 3001.2 fish, you're predicting that there'll be approximately that many. In fact, predicting that there will be 3001.2 fish when there were actually 3000 a superb approximation: that's an error of only approximately 0.0003% once when you round down to 3001.

The important thing to keep in mind about mathematical models is that answers tend to be less "cut-and-dry" than you may be used to from other fields of mathematics. Most people think mathematics is all about having one correct way to come to "the" correct answer, but that mentality doesn't really apply to mathematical models. Try to think of models more in terms of "better vs. worse" as opposed to "right vs. wrong."

The other factor, of course, is that it can be difficult (or impossible) to know the exact value of all of the variables. For example, I was recently working on a mathematical model of urban pigeon populations. As shown in this question, it's not all that easy to get accurate population data on pigeons, and it's certainly extremely difficult to know what the exact carrying capacity is for a given area. (Quick - what's London's total carrying capacity for pigeons?)

This doesn't apply to this particular differential equation, but there are plenty of cases (both in differential equations in particular and in mathematical modeling in general) where it's either impractical or impossible to come up with an exact numerical solution. (You can often use various approximation techniques like Euler's Method, for example, to come up with good approximations; you can also use graphical techniques like direction fields to get a sense of general trends). This kind of a situation actually comes up a lot in practical cases that we'd like to be able to come up with a good model.

TL;DR Your model's an approximation to begin with, so I wouldn't worry too much about having to round.


Yes, you can. For example, the Gillespie algorithm (Gillespie-Doob algorithm) generates a statistically correct trajectory of a discrete population from a system of differential equations. This is computationally more intensive than treating a discrete population size as continuous, so is only normally used for relatively small populations.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .