{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Numerical Solution of Ordinary Differential Equations (ODE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this chapter, we will learn to numerically solve a set of ODEs. To do so, we will use the `odeint` function from the `scipy.integrate` package." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.integrate as intgr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose the equations we want to solve are:\n", "\\begin{align*}\n", "\\dot{X}_1 &= f_1(X_1, X_2, \\cdots) \\\\\n", "\\dot{X}_2 &= f_2(X_1, X_2, \\cdots) \\\\\n", "&\\;\\vdots\n", "\\end{align*}\n", "Note that if your equations are higher-order, you need to first convert them to first order ODEs by introducing auxiliary variables.\n", "\n", "As an example, let us consider the Lotka-Volterra system with two variables:\n", "\\begin{align*}\n", "\\dot{X} &= r X - f X Y \\\\\n", "\\dot{Y} &= g X Y - d Y\n", "\\end{align*}\n", "These equations describe the population dynamics of a predator and a prey species (see more details in [Lotka-Volterra System](Lotka-Volterra.ipynb))." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we need to define a function that calculates the time derivatives, i.e., the right-hand side of the equations." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def equations(x, t, r, f, g, d):\n", " \"\"\"\n", " inputs:\n", " x: array, all variables stacked into an array.\n", " t: float, time (need to have the argument `t` even if the equations do not depend on time explicitly).\n", " r, f, g, d: other parameters used in the equations.\n", " \"\"\"\n", " X, Y = x # parse variables\n", " dXdt = r * X - f * X * Y\n", " dYdt = g * X * Y - d * Y\n", " return [dXdt, dYdt] # assemble derivatives into an array" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can integrate our differential equations using `odeint`. We specify a set of time points at which we would like to know the values of the variables. Then we ask the function `odeint` to return these values at the given time points." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "r = 5 # growth rate of the prey\n", "f = r # feeding rate of the predator\n", "g = 1 # growth rate of the predator per prey available\n", "d = 1 # death rate of the predator\n", "\n", "T = 10. # total time to solve the equations for\n", "time = np.arange(0, T, 0.01) # time points to evaluate the solutions at\n", "X0, Y0 = np.random.rand(2) # random initial values between 0 and 1\n", "\n", "sol = intgr.odeint(equations, [X0, Y0], time, args=(r,f,g,d)) # solve ODE" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The solution is an array of shape ($n_t$, $n_v$), where the first axis is the number of time points, and the second axis is the number of variables. We can now plot these solutions:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Xt = sol[:,0]\n", "Yt = sol[:,1]\n", "\n", "plt.figure()\n", "plt.plot(time, Xt, label='X')\n", "plt.plot(time, Yt, label='Y')\n", "plt.xlabel('time')\n", "plt.ylabel('solutions')\n", "plt.legend(loc='upper right')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or in phase space (in this case, the solution is a closed orbit):" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(Xt, Yt)\n", "plt.xlabel(r'$X$')\n", "plt.ylabel(r'$Y$')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }