Solve Differential Equations with ODEINT Function of SciPy module in Python Last Updated : 07 Jul, 2025 Comments Improve Suggest changes 1 Likes Like Report In science and engineering, many problems involve quantities that change over time like speed of a moving object or temperature of a cooling cup. These changes are often described using differential equations.SciPy provides a function called odeint (from the scipy.integrate module) that helps solve these equations numerically. By giving it a function that describes how your system changes and some starting values, odeint calculates how the system behaves over time.Syntaxscipy.integrate.odeint (func, y0, t, args=())Parameter:func: function that returns the derivative (dy/dt).y0: initial conditions.t: time points to solve the ODE at.args (optional): extra values passed to func.Solving Differential EquationsLet's solve an ordinary differential equation (ODE) using the odeint() function.Example 1\frac{dy}{dt} = -yt + 13 Python import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # Initial condition y0 = 1 # Time points t = np.linspace(0, 5) # Define the differential equation using lambda # dy/dt = -y * t + 13 dydt = lambda y, t: -y * t + 13 # Solve the ODE y = odeint(dydt, y0, t) plt.plot(t, y) plt.xlabel("Time") plt.ylabel("Y") plt.show() OutputGraph for the solution of ODEExplanation:Defines and solves the ODE dy/dt = -y * t + 13 using odeint with initial value y = 1.The graph shows how y changes over time.y increases first then slows as -y * t term grows.Example 2\frac{dy}{dt} = 13e^t + y Python import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # Initial condition y0 = 1 # Time values t = np.linspace(0, 5) # Define ODE directly using lambda: dy/dt = 13 * e^t + y dydt = lambda y, t: 13 * np.exp(t) + y # Solve ODE y = odeint(dydt, y0, t) plt.plot(t, y) plt.xlabel("Time") plt.ylabel("Y") plt.show() OutputGraph for the solution of ODEExplanation:Defines and solves ODE dy/dt = 13*eᵗ + y using odeint starting from y = 1.The graph shows y grows rapidly, driven by both exponential and linear terms.The exponential term accelerates the growth of y as time increases.Example 3\frac{dy}{dt} = \frac{1 - y}{1.95 - y} - \frac{y}{0.05 + y} Python import numpy as np from scipy.integrate import odeint import matplotlib.pyplot as plt # Initial conditions y0 = [0, 1, 2] # Time values t = np.linspace(1, 10) # Define the ODE using lambda dydt = lambda y, t: (1 - y) / (1.95 - y) - y / (0.05 + y) # Solve the ODE y = odeint(dydt, y0, t) plt.plot(t, y) plt.xlabel("Time") plt.ylabel("Y") plt.show() OutputGraph for the solution of ODEExplanation:Defines and solves ODE dy/dt = (1−y)/(1.95−y) − y/(0.05+y) using odeint with initial values y = 0, 1 and 2.The graph shows how y evolves over time for each initial value.The equation models a system with competing growth and decay rates, influenced by the values of y.Related ArticleScipy - IntegrationLinear Algebra - SciPy linalgSciPy StatsStastistical significance Tests Create Quiz Comment M mycodenotein Follow 1 Improve M mycodenotein Follow 1 Improve Article Tags : Python Python-scipy Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 4 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 3 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 3 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 3 min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 6 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 5 min read Build a REST API using Flask - Python 3 min read Building a Simple API with Django REST Framework 3 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like