All models are wrong but some are in this textbook.
(Based on a tweet by @alackles).

What is this?

In this online, interactive and free textbook, you will be guided through how to develop and analyse mathematical models to ask questions about a variety of problems from biology and medicine.

What mathematics will we use?

In the general field, mathematical models for biological and medical systems can take a range of forms, including difference equations, ordinary or partial differential equations, stochastic models, individual-based computational models, not to mention more data-driven approaches and much more besides. The mathematical models we will cover here are all in the form of ordinary differential equations – some linear and some non-linear. For a few of the models you can also play with some interactive simulation models in Python (for which no prior experience of coding is needed).

What applications will we see?

In terms of applications, mathematical modelling plays an increasingly important role in almost any area of life sciences that you’d care to think of. Here we will focus on a few key areas:

  • Population ecology – single and interacting species including competition and predator-prey systems.
  • Infectious diseases – classic epidemic models, host-parasite systems and evolution.
  • Immunology and cell dynamics – within-host disease interactions and simple cancer dynamics.
  • Gene networks – regulatory feedback loops in both one and two gene systems.
  • Pharmacokinetics – single and repeated doses of intravenous and orally adminstered drugs.

Who is this aimed at?

I hope that anyone who is interested in learning about how to model biological systems will be able to get something out of this resource. While some degree of mathematical knowledge is assumed, optional background review material is provided for those who need a bit more detail. I’d see the main audience for this book as:

  • Undergraduate and postgraduate mathematics students who have not studied mathematical biology before.
  • Undergraduate and postgraduate life-sciences students with an interest in modelling.
  • Researchers or analysts in fields such as ecology, public health, immunology or pharmacology who are interested in modelling approaches.
  • A-level/post-16 students studying mathematics who are keen to see some university-level material.

How do I use this book?

I have written the textbook imagining that you would work through it in order from start to finish. Of course, if you are short on time and have a particular interest in a certain application you are very welcome to focus on just one (or two or more) sections of the material.

In terms of mathematical (and for that matter, biological) background I have aimed the core material assuming a reader has taken the first year or two of an undergraduate mathematics degree – and is therefore familiar with concepts such as what an ordinary differential equation (ODE) represents, how to solve first-order linear ODEs, as well as more general material such as geometric series, properties of exponentials, etc. If you are not familiar with these concepts you may need to look at some other materials to give you some background (for which I suggest browsing the Pressbooks Directory), but I hope that you can at least follow the thinking behind the methods. The additional background review chapters provided here are for those who have perhaps studied the first year of a mathematics degree but have not yet come across non-linear ordinary differential equations.

I have tried to make the textbook fairly interactive. In pretty much every chapter you will see blue boxes like below where you are strongly encouraged to have a go at some of the working yourselves.


Boxes like this are used for problems and bits of working for you to have a go at on your own. When you’ve done that, you should click the button below.
Click for solution

After you’ve made your attempt, you can now reveal a worked solution.

Sometimes these are stand-alone problems, but they can also involve doing bits of working that are important for developing the material. I therefore strongly encourage you to have a go at the problem and check over the solution before continuing.


In addition, some boxes provide you with Python code that you can use to explore the models in more detail. No previous coding experience is required to run these – simply copy and paste the provided code into a Python program and run it. For those who are new to coding, it is an increasingly large part of mathematical modelling and, while it is not an essential part of this course, I hope you will take the chance to learn some further skills. There are many ways to install Python on your computer, but you can download a full distribution for free by visiting and selecting the appropriate download. This comes with two nice pieces of software for running Python code in – Spyder and Jupyter Notebooks, of which Spyder is perhaps marginally more straightforward for a new user.


The content of a textbook like this is built up over many years of study and teaching. I have tried my best to reference the resources that went into each chapter’s material in the Chapter references at the end of each page, with a full reference list at the end. These might also provide a starting point for further study of any areas that you have a particular interest in.


There is a particular challenge to the mathematics community in producing mathematical notes that meet even minimum accessibility standards. Thanks to recent developments, content produced as HTML webpages using MathJax has solved many problems. This content has been tested for screenreaders using NVDA and MathPlayer in Firefox and the mathematical content could be read. All images have long description alt-text provided. If you discover any issues with accessibility please do contact me using the anonymous feedback form and I will see if I can fix it.

What is an Open Education Resource?

Traditional textbooks, both printed and e-books, can be prohibitively expensive for both individuals and even large organisations, continuing bias in who has access to teaching and learning materials. Open Education Resources are created and licensed for users to own, use and even modify. As such, this online resource is free for anyone to retain, reuse, revise, remix and redistribute (under the condition that any published use of it is cited).

Being online, the hope is also that you can use the book in a way that suits you, for example making it easier to jump between sections, allowing some extra background material and providing Python code.


To help me understand how this textbook is being used and perhaps inform future edits, please consider filling in this anonymous feedback form to provide some details.


Icon for the Creative Commons Attribution 4.0 International License

Introducing Mathematical Biology Copyright © 2023 by Alex Best is licensed under a Creative Commons Attribution 4.0 International License, except where otherwise noted.

Share This Book