This tutorial is meant to guide you on how to import the Odeint() function in Python. The Odeint() function is an integral part of the scipy.integrate package and it provides a robust and concise solution for solving ordinary differential equations in Python.
Installation of Scipy library
Python’s standard library doesn’t include scipy, so we have to install it. It’s recommended to install scipy with pip. You can install it by typing the following command in your terminal:
1 |
pip install scipy |
Loading The Scipy.Integrate library
After successful installation, we now proceed to import the scipy. integrate library which contains the Odeint() function. Use the following code to achieve this;
1 |
from scipy.integrate import odeint |
Defining parameters
The “odeint()” function takes three required inputs:
- “func:” This is the model function name that returns derivative values at requested “y” and “t” values as dydt = model(y,t).
- “y0: “the initial condition(s). It can be a scalar or vector.
- “t:” This is the sequence of time points for where to solve for y. The integration span is “(t[0], t[-1])”.
Here is a basic example:
1 2 3 4 5 6 7 8 |
def model(y, t): k = 0.3 dydt = -k * y return dydt y0 = 5 t = np.linspace(0, 20) y = odeint(model, y0, t) |
This script creates a model function, and defines the initial condition y0 = 5
, and the array t
for the time coordinates. The output from the odeint()
function is an array y
that corresponds to the y
values at each time coordinate.
Full Code
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import numpy as np from scipy.integrate import odeint def model(y, t): k = 0.3 dydt = -k * y return dydt y0 = 5 t = np.linspace(0, 20) y = odeint(model, y0, t) print(y) |
[[5. ] [4.8492579 ] [4.70306036] [4.56127046] [4.42375528] [4.29038598] [4.16103756] [4.03558877] [3.91392204] [3.79592341] [3.6814823 ] [3.57049141] [3.46284668] [3.35844726] [3.25719533] [3.158996 ] [3.06375722] [2.97138973] [2.88180698] [2.79492502] [2.7106624 ] [2.62894017] [2.54968174] [2.47281283] [2.3982614 ] [2.32595759] [2.25583364] [2.18782382] [2.12186437] [2.05789346] [1.99585116] [1.93567934] [1.87732164] [1.82072336] [1.76583141] [1.71259435] [1.6609623 ] [1.61088688] [1.56232116] [1.51521963] [1.46953813] [1.42523385] [1.38226528] [1.34059215] [1.30017539] [1.26097714] [1.22296065] [1.1860903 ] [1.15033154] [1.11565084]]
Conclusion
By following this guide, you are now able to import and use the odeint function to solve ordinary differential equations in Python. key to note is that you first have to import the scipy.integrate library that contains the Odeint function.
You also need to define the model function, the initial conditions, and the sequence of time points.