Modeling and Simulation in Python: An Introduction for Scientists and Engineerings

author: Alan B. Downey

related books: Thinking in Systems

The main takeaway

This book introduces the main concepts of modeling and simulation in a practical, hands-on, case study-based fashion using Jupyter notebooks. The author keeps the mathematics to the bare minimum (it only requires a superficial knowledge of derivatives) while having the applications area as broad as possible. It covers first-order differential equations (growth), simple systems (the SIR model and an insulin model) and several second-order systems based on Newton's second law (rolling toilet paper and throwing a baseball). Most examples are solved using custom ModSim software that uses a finite-step method. The author also introduces other tools, such as solving differential equations in Sympy and root-finding methods for optimization and parameter finding.

Who is this for?

I found this book while researching how to develop a more practical version of the modeling course I teach (that now only covers ODEs). This book is very introductory and likely won't appeal to those who have advanced mathematics courses at some point. However, for those who did not, it is a very accessible introduction to modeling that can immediately be used for a wide range of systems. The author also has a lot of notebooks online for the exercises.