This notebook contains an excerpt from the Python Programming and Numerical Methods - A Guide for Engineers and Scientists, the content is also available at Berkeley Python Numerical Methods.

The copyright of the book belongs to Elsevier. We also have this interactive book online for a better learning experience. The code is released under the MIT license. If you find this content useful, please consider supporting the work on Elsevier or Amazon!

# Chapter 22. Ordinary Differential Equation - Initial Value Problems¶

## Motivation¶

Differential equations are relationships between a function and its derivatives, and they are used to model systems in every engineering and science field. For example, a simple differential equation relates the acceleration of a car with its position. Unlike differentiation where analytic solutions can usually be computed, in general finding exact solutions to differential equations is very hard. Therefore, numerical solutions are critical to making these equations useful for designing and understanding engineering and science systems.

Because differential equations are so common in engineering, physics, and mathematics, the study of them is a vast and rich field that cannot be covered in this introductory text. This chapter covers ordinary differential equations with specified initial values, a subclass of differential equations problems called initial value problems. To reflect the importance of this class of problem, Python has a whole suite of functions to solve this kind of problem. By the end of this chapter, you should understand what ordinary differential equation initial value problems are, how to pose these problems to Python, and how these Python solvers work.