{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Numerically solving differential equations with python\n", "\n", "*This is a brief description of what numerical integration is and a practical tutorial on how to do it in Python.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Software required\n", "\n", "*In order to run this notebook in your own computer, you need to install the following software:*\n", "\n", "* [python](http://python.org)\n", "* [numpy](http://numpy.org) and [scipy](http://scipy.org) - python scientific libraries\n", "* [matplotlib](http://matplotlib.org) - a library for plotting\n", "* the [ipython notebook](http://ipython.org/notebook.html) (now renamed to [*Jupyter*](https://jupyter.org/)\n", "\n", "On Windows and Mac, we recommend installing the [Anaconda distribution](https://www.anaconda.com/distribution/), which includes all of the above in a single package (among several other libraries), available at https://www.anaconda.com/distribution/\n", "\n", "On Linux, you can install everything using your distribution's prefered way, e.g.:\n", "\n", "* Debian/Ubuntu: `sudo apt-get install python-numpy python-scipy python-matplotlib python-ipython-notebook`\n", "* Fedora: `sudo yum install python-numpy python-scipy python-matplotlib python-ipython-notebook`\n", "* Arch: `sudo pacman -S python-numpy python-scipy python-matplotlib jupyter\n", "\n", "Code snippets shown here can also be copied into a pure text file with .py extension and ran outside the notebook (e.g., in an python or ipython shell).\n", "\n", "### From the web\n", "Alternatively, you can use a service that runs notebooks on the cloud, e.g. [SageMathCloud](https://cloud.sagemath.com/) or [wakari](https://www.wakari.io/). It is possible to visualize publicly-available notebooks using http://nbviewer.ipython.org, but no computation can be performed (it just shows saved pre-calculated results)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How numerical integration works\n", "\n", "Let's say we have a differential equation that we don't know how (or don't want) to derive its (analytical) solution. We can still find out what the solutions are through **numerical integration**. So, how dows that work?\n", "\n", "The idea is to approximate the solution at successive small time intervals, extrapolating the value of the derivative over each interval. For example, let's take the differential equation\n", "\n", "$$ \\frac{dx}{dt} = f(x) = x (1 - x) $$\n", "\n", "with an initial value $x_0 = 0.1$ at an initial time $t=0$ (that is, $x(0) = 0.1$). At $t=0$, the derivative $\\frac{dx}{dt}$ values $f(0.1) = 0.1 \\times (1-0.1) = 0.09$. We pick a small interval step, say, $\\Delta t = 0.5$, and assume that that value of the derivative is a good approximation over the whole interval from $t=0$ up to $t=0.5$. This means that in this time $x$ is going to increase by $\\frac{dx}{dt} \\times \\Delta t = 0.09 \\times 0.5 = 0.045$. So our approximate solution for $x$ at $t=0.5$ is $x(0) + 0.045 = 0.145$. We can then use this value of $x(0.5)$ to calculate the next point in time, $t=1$. We calculate the derivative at each step, multiply by the time step and add to the previous value of the solution, as in the table below:\n", "\n", "| $t$ | $x$ | $\\frac{dx}{dt}$ |\n", "| ---:|---------:|----------:|\n", "| 0 | 0.1 | 0.09 |\n", "| 0.5 | 0.145 | 0.123975 |\n", "| 1.0 | 0.206987 | 0.164144 |\n", "| 1.5 | 0.289059 | 0.205504 |\n", "| 2.0 | 0.391811 | 0.238295 |\n", "\n", "Of course, this is terribly tedious to do by hand, so we can write a simple program to do it and plot the solution. Below we compare it to the known analytical solution of this differential equation (the *logistic equation*). **Don't worry about the code just yet**: there are better and simpler ways to do it!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from numpy import *\n", "from matplotlib.pyplot import *\n", "\n", "# time intervals\n", "dt = 0.5\n", "tt = arange(0, 10, dt)\n", "# initial condition\n", "xx = [0.1]\n", "\n", "def f(x):\n", " return x * (1.-x)\n", "\n", "# loop over time\n", "for t in tt[1:]:\n", " xx.append(xx[-1] + dt * f(xx[-1]))\n", "\n", "# plotting\n", "plot(tt, xx, '.-')\n", "ta = arange(0, 10, 0.01)\n", "plot(ta, 0.1 * exp(ta)/(1+0.1*(exp(ta)-1.)))\n", "xlabel('t')\n", "ylabel('x')\n", "legend(['approximation', 'analytical solution'], loc='best',)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why use scientific libraries?\n", "\n", "The method we just used above is called the *Euler method*, and is the simplest one available. The problem is that, although it works reasonably well for the differential equation above, in many cases it doesn't perform very well. There are many ways to improve it: in fact, there are many books entirely dedicated to this. Although many math or physics students do learn how to implement more sophisticated methods, the topic is really deep. Luckily, we can rely on the expertise of lots of people to come up with good algorithms that work well in most situations." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Then, how... ?\n", "\n", "We are going to demonstrate how to use scientific libraries to integrate differential equations. Although the specific commands depend on the software, the general procedure is usually the same:\n", "\n", "* define the derivative function (the right hand side of the differential equation)\n", "* choose a time step or a sequence of times where you want the solution\n", "* provide the parameters and the initial condition\n", "* pass the function, time sequence, parameters and initial conditions to a computer routine that runs the integration.\n", "\n", "### A single equation\n", "\n", "So, let's start with the same equation as above, the logistic equation, now with any parameters for growth rate and carrying capacity:\n", "\n", "$$ \\frac{dx}{dt} = f(x) = r x \\left(1 - \\frac{x}{K} \\right) $$\n", "\n", "with $r=2$, $K=10$ and $x(0) = 0.1$. We show how to integrate it using python below, introducing key language syntax as necessary." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# everything after a '#' is a comment\n", "\n", "## we begin importing libraries we are going to use\n", "# import all (*) functions from numpy library, eg array, arange etc.\n", "from numpy import *\n", "# import all (*) interactive plotting functions, eg plot, xlabel etc.\n", "from matplotlib.pyplot import *\n", "# import the numerical integrator we will use, odeint()\n", "from scipy.integrate import odeint\n", "\n", "# time steps: an array of values starting from 0 going up to (but\n", "# excluding) 10, in steps of 0.01\n", "t = arange(0, 10., .1)\n", "# parameters\n", "r = 2.\n", "K = 10.\n", "# initial condition\n", "x0 = 0.1\n", "\n", "# let's define the right-hand side of the differential equation\n", "# It must be a function of the dependent variable (x) and of the \n", "# time (t), even if time does not appear explicitly\n", "# this is how you define a function:\n", "def f(x, t, r, K):\n", " # in python, there are no curling braces '{}' to start or \n", " # end a function, nor any special keyword: the block is defined\n", " # by leading spaces (usually 4)\n", " # arithmetic is done the same as in other languages: + - * /\n", " return r*x*(1-x/K)\n", "\n", "# call the function that performs the integration\n", "# the order of the arguments is as below: the derivative function,\n", "# the initial condition, the points where we want the solution, and\n", "# a list of parameters\n", "x = odeint(f, x0, t, (r, K))\n", "\n", "# plot the solution\n", "plot(t, x, '.')\n", "xlabel('t') # define label of x-axis\n", "ylabel('x') # and of y-axis\n", "tt = arange(0, 10, 0.01)\n", "# plot analytical solution\n", "# notice that `t` is an array: when you do any arithmetical operation\n", "# with an array, it is the same as doing it for each element\n", "plot(tt, K * x0 * exp(r*tt)/(K+x0*(exp(r*tt)-1.)))\n", "legend(['approximation', 'analytical solution'], loc='best') # draw legend" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We get a much better approximation now, the two curves superimpose each other!\n", "\n", "Now, what if we wanted to integrate a system of differential equations? Let's take the Lotka-Volterra equations:\n", "\n", "$$ \\begin{aligned}\n", "\\frac{dV}{dt} &= r V - c V P\\\\\n", "\\frac{dP}{dt} &= ec V P - dP\n", "\\end{aligned}$$\n", "\n", "In this case, the variable is no longer a number, but an array `[V, P]`. We do the same as before, but now `x` is going to be an array:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "shape of x: (500, 2)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ET3TaK/RIGaA/DONfABmCVuexEhznjBGg2pMia1rphZ1Cc402rpeQBEOkMWGadigoVwGbfOahQ1Oi/vMXjtDvjdD9jRavM+iUJFO4+rVq3NfM2tIKonwmUY+ALOEkcIGFEYDH4A5/DONQk+LxfssTHRenWlMA7BvTpda1CW4p9FmgarQpZZ0gHKEDxoy05gljAMEKLQTbF6zEFUAqp5GmwP6UahIp3HEiBG5r0866STMmTMHw4YNQyKR0GYfXdfFzp07sXDhQlx11VV9calaVq1ahfnz52Px4sWIx+M45JBD8P3vfx8jR47Mvcd1XTz00EP4xS9+gY0bN6K2thZf+9rXcMUVV2DIkCFlvHqiInKm0eZIs1RqGa48lQ/APGHLk1gGl4dzuvSEzTQyAJYnbDAnIdyXNgdzwrcnsKUji3z+MzgdRNhMo+MAhbkom+2MKFSk03jssawQeFEAACAASURBVMciHs80mM+fPx81NWaXuf/+++P999/vpasL5qOPPsKcOXPwyCOP4JhjjsGPf/xjTJ48WXqf67o477zzcO+992LmzJn45S9/iSVLluDoo4/GY489hiVLlmDs2LFl+AuIH6HLRhhpzhFacZYPwByh53RRPS+HSqRERJVptHXNVJnGMIqDNhtZ0WfOWhzMiZpptPS+BORnpt/5LwYnbL43w2Qagcw+Kzzzbd5nUajIOY277rorzjvvPKRSKU+pqgl33313ia8qHH/84x+xzz774MEHH8QNN9yAP/3pT0qHEQDuuOMO3HvvvQCAc889FwBw1FFHYdSoUVi1ahWmTp3K8twKg+qp5oSfbckHYJbQ5Uk0tABkSibFIIMy08iexhyiMR+POcqeT2Yz8kQtG7f1vgQUStChA602O9rRghM29zRKjjazs71CRTqNAHDjjTdi4sSJ+N73voeurq7gDwhMmjSpF65Kz/z583HyySdjx44duOqqq3DJJZf4vrezsxM//elPc9+PGTMm9/W4ceMAAG+88QYeffTRXrteYk7YCKAcnedhniVsptFqQyt01JT7DDDJmvn1NNpH2LEu4hxCm3saoxrzNhumYdsTpDmNNq9Z1OCEzWsW8t7kM7M4KrI8FQAee+wxnHnmmbjiiivwhS98ARdddBHicb1YQban8W9/+xveeuutPrrSDP/6178wbdo0pNNpjB8/Hj/84Q+173/+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xV133QUAsNvtKCoqav9Z296Kc+bMwcSJE7vl+oiIiIiIiAAGjd3q0UcfxYwZMwAAS5cuBQAsX74cTU1NyM3Nxauvvtqdl0dERERERARJds+FpC5nt9vxxBNP4JVXXkFTUxOsVisWLlyI+++/v1s28OxJm4gSEREREfVWPalfzqCRFHpS4yQiIiIi6q16Ur+c6alERERERESki0EjERERERER6WLQSERERERERLoYNBIREREREZEuBo1ERERERESki0EjERERERER6WLQSERERERERLos3X0B1LO4b9vZ0NDQjVdCRERERNR7uffF3fvo3YFBIyk0Nja2f5+SktKNV0JERERERIDoo0dGRnbb72d6KhEREREREemS5O6e66QexeVyoby8HAAQHh4OSZK6/Br27t2LCRMmtD/evHkzhg0b1uXXQT0T2wfpYdsgPWwbpIdtg7zp7vYhy3J7FmBiYiJMpu6b72N6KimYTCYkJyd36zWEh4drHkdERHTT1VBPw/ZBetg2SA/bBulh2yBvekL76M6UVHdMTyUiIiIiIiJdDBqJiIiIiIhIF4NGIiIiIiIi0sWgkYiIiIiIiHQxaCQiIiIiIiJdDBqJiIiIiIhIF4NGIiIiIiIi0sWgkYiIiIiIiHQxaCQiIiIiIiJdDBqJiIiIiIhIF4NGIiIiIiIi0sWgkYiIiIiIiHRZuvsCiNSSkpLw4IMPKh4TtWH7ID1sG6SHbYP0sG2QN2wfP5JkWZa7+yKIiIiIiIioZ2J6KhEREREREeli0EhERERERES6GDQSERERERGRLgaNREREREREpItBIxEREREREeli0EhERERERES6GDQSERERERGRLgaNREREREREpItBIxEREREREeli0EhERERERES6GDQSERERERGRLgaNREREREREpItBIxEREREREeli0EhERERERES6GDQSERERERGRLgaNREREREREpItBIxEREREREeli0EhERERERES6GDQSERERERGRLgaN1KPY7XY8/fTTyMvLQ79+/TB8+HA88sgjaGxs7O5Loy7mcDjwzjvvYMqUKfjLX/6iex7bTO+xdetWXHHFFYiPj0dERATGjRuHF198EbIsezyfbaP3qKurwwMPPICBAwfCZrMhLS0Nt956K8rLyz2ez7ZBd955JyRJwiuvvKL5WUNDAx555BHk5uYiJycHeXl5eOaZZ+BwOLr+QslQGzduhCRJul95eXmK83v1vUMm6iFaWlrkCy+8UAYgP/bYY7Isy/LSpUtlAPKYMWPkysrKbr5C6grl5eXyn/70JzkjI0MGIAOQH330UY/nss30Hm+88YZssVja24T719VXX605n22j98jPz5cHDhzosW0MGDBA82/NtkEvvfRSextZunSp4mdVVVXy6NGjZQDy22+/LcuyLD/44IMyAHnOnDlyc3NzN1wxGeXnP/+5x3tH29fLL7/cfm5vv3cwaKQe45e//GX7H2lZWZksy7Lc1NTU3lGcO3duN18hGam0tFS+55575DFjxsgmk0lx09YLGtlmeof9+/fLoaGhMgDZZrN5/GB/9dVXFc9h2+gdmpub5dzcXNlqtcpZWVmy1WrVtI37779f8Ry2jd5tw4YNckhIiG7QOH/+fBmAHB0dLTscDlmWZfnw4cPt5999993dcNVkBKfTKaenp+sGjImJiXJTU1P7+b393sGgkXqE4uLi9k5hWFiY4mfuM04bN27spisko7W2trbfnJ988kmfQSPbTO9xzTXXyLfccotcVFQku1wuedOmTfLQoUMVbWTatGnt57Nt9B6PPvqofOONN8rl5eWyLMtybW2tvGTJEkXbmDNnTvv5bBu9W1FRkSZIcA8at2/f3n586NCh7ccdDkf7cZvNJhcWFnbD1VOwffPNN/L48eP9Opf3DlnmmkbqET766CM0NzcDAMLCwhQ/M5vN7d+///77XXpd1HWsVitCQ0MBACNHjvR5PttM7+ByudCnTx8899xzSEtLgyRJmDBhAlasWAGLxdJ+XkVFRfv3bBu9R3Z2Nl588UUkJCQAAKKiovDSSy8hJSVFcU4bto3eq7W1FfPnz8eiRYt0z3nnnXfav3dvH+5to7W1FZ988okxF0ldatmyZZg/f75f5/LewUI41EN888037d/bbDbd81atWtUFV0Pdzf0GrIdtpncwmUz485//rDk+ePBgDBkypP3xgAED2r9n2+g9Fi5cqDlmtVqRkZEBQHTu7rrrrvafsW30XrfffjuGDRuGO+64Q/ccto/ew+l04r333sMDDzyAhIQEDBs2DIsXL8bLL7+MhoYGzflsGwwaqYfYuXNn+/fuswdqe/fu7YrLoTMA2wy5XK727y+//PL279k2erdjx45h586dSE5OxgcffIBh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3ZdBRERnOAaNREREZ6FTp07h3nvv7e7LICKiswCDRiIiorOM0+nEokWLUFJS0t2XQkREZwEGjURERGeZe+65B19//XV3XwYREZ0lGDQSERGdRe6991489dRT3X0ZRER0FrF09wUQERFR59ntdtx111147rnnuvtSiIjoLCPJsix390UQERFRx1VXV2PevHlYs2aNX+cfO3YM2dnZxl4UERGdNRg0EhERneHKy8uxbt06AMAVV1yh+flzzz2H5OTk9sezZ89GeHh4l10fERGd2Rg0EhERnUUkSdIc48wiERF1BgvhEBERERERkS4GjURERERERKSLQSMRERERERHpYtBIREREREREuhg0EhERERERkS4GjURERERERKSLQSMRERERERHpYtBIREREREREuhg0EhERnUUkSeruSyAiorMMg0YiIqKzSEhIiOaYy+XqhishIqKzBYNGIiKis0h8fLzmWFVVFQARPF533XWw2+1dfVlERHQGY9BIRER0Fpk7d67m2O9///v/354d20YIAEEUXQcXQH4SITktkNAHNdAHBdECASXQAkXgAqxJLEvorPfSTTb9mjqOo+Z5rq7r6vV6PfAZAJ/q677v++knAIC/cV1XjeNY53n+uE3TVNu2VdM0D3wGwKeyNALAP/J+v2vf91qWpfq+r7ZtaxiGWtdVMALwK5ZGAAAAIksjAAAAkWgEAAAgEo0AAABEohEAAIBINAIAABCJRgAAACLRCAAAQCQaAQAAiEQjAAAAkWgEAAAgEo0AAABEohEAAIBINAIAABCJRgAAACLRCAAAQCQaAQAAiEQjAAAAkWgEAAAgEo0AAABEohEAAIBINAIAABCJRgAAACLRCAAAQCQaAQAAiEQjAAAAkWgEAAAgEo0AAABEohEAAIBINAIAABCJRgAAACLRCAAAQCQaAQAAiEQjAAAAkWgEAAAgEo0AAABEohEAAIBINAIAABB9A42FpXFqXsmTAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# we didn't need to do this again: if the cell above was run already,\n", "# the libraries are imported, but we repeat it here for convenience\n", "from numpy import *\n", "from matplotlib.pyplot import *\n", "from scipy.integrate import odeint\n", "\n", "t = arange(0, 50., 0.1)\n", "\n", "# parameters\n", "r = 2.\n", "c = 0.5\n", "e = 0.1\n", "d = 1.\n", "\n", "# initial condition: this is an array now!\n", "x0 = array([1., 3.])\n", "\n", "# the function still receives only `x`, but it will be an array, not a number\n", "def LV(x, t, r, c, e, d):\n", " # in python, arrays are numbered from 0, so the first element \n", " # is x[0], the second is x[1]. The square brackets `[ ]` define a\n", " # list, that is converted to an array using the function `array()`.\n", " # Notice that the first entry corresponds to dV/dt and the second to dP/dt\n", " return array([ r*x[0] - c * x[0] * x[1],\n", " e * c * x[0] * x[1] - d * x[1] ])\n", "\n", "# call the function that performs the integration\n", "# the order of the arguments is as below: the derivative function,\n", "# the initial condition, the points where we want the solution, and\n", "# a list of parameters\n", "x = odeint(LV, x0, t, (r, c, e, d))\n", "\n", "# Now `x` is a 2-dimension array of size 5000 x 2 (5000 time steps by 2\n", "# variables). We can check it like this:\n", "print('shape of x:', x.shape)\n", "\n", "# plot the solution\n", "plot(t, x)\n", "xlabel('t') # define label of x-axis\n", "ylabel('populations') # and of y-axis\n", "legend(['V', 'P'], loc='upper right')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An interesting thing to do here is take a look at the *phase space*, that is, plot only the dependent variables, without respect to time:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Initial condition: [1. 3.]\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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dFT67COqfCfBCQiMsERSUpLGjBkjScrLyzOderxHjx5eTUyBymPSpEmaO3euvv/+e9WsWVMhISEKCQlRWFiYatasqeeee869VhV9DL7Qrl079e3bV5K0d+9e5efnS5IOHTrkbnP77berQYMGttQHe/Tv319XXnml++dly5a5P//yyy/uz+PHj3d/joqK0qOPPur+uejEOWf7U0pKivr37++PkuFAcXFxxd6hXrNmTbH9v/76q/vzvffeK4nvJDiEAVjkzJkzRrdu3QxJRnp6umEYhvHvf//bkGS0atXKOHjwoM0VwkkWLlxohISEGJI8/gkLCzMyMzPdx9DH4I3du3cX60czZ84stv/YsWNGq1atDEnGW2+9ZRiGYTz77LOGJKNr167F+hwqj19//dVo3bq1IcmoVq2asXPnTuPIkSNG48aNjZCQEOPxxx83PW7IkCGGJGPkyJGGYRjGt99+a4SEhBj169c3tm/fbuU/Ahzgp59+MurXr29IMho0aGBs3brVMAzDWLdunREfH29IMsaNG1fsGL6TYLcQwygypg34WV5enqZMmaJZs2YpOztbERERGjRokB5++OFii9iicsvIyFDHjh2VlZVVaruUlBRt2rSp2Db6GM5nz549aty4sfvnmTNnavjw4cXanD59Wk888YTmz5+vgoICxcbGasSIEbr33nsVHh5uccVwiszMTL300kuaO3eufv75Z8XHxyslJUX33HOPunXrZnqMYRh65ZVX9NJLL+no0aMKCwtTr169NGHCBGa2rKSOHj2qZ599VkuXLtWePXtUrVo1hYaGqlOnTho9erTpe618J8FOBEYAAAAAgCneYQQAAAAAmCIwAgAAAABMERgBAAAAAKYIjAAAAAAAUwRGAAAAAIApAiMAAAAAwBSBEQAAAABgisAIAAAAADBFYAQAAAAAmCIwAgAAAABMERgBAAAAAKYIjAAAAAAAUwRGAAAAAIApAiMAAAAAwBSBEQAAAABgisAIAAAAADBFYAQAAAAAmCIwAgAAAABMERgBAAAAAKYIjAAAAAAAUwRGAAAcrmvXrgoJCfH6z7Zt20zPk56eXupxgwYNsvifDADgdOF2FwAAAEp3//33q1atWlqwYIHHNh06dNDw4cOVlJSk+vXrm7bp37+/6tSpo1WrVumtt95Sfn6+e1+3bt00cuRIn9cOAAhsIYZhGHYXAQAAzu/BBx/U5MmTTfetX79el156qdfnmjRpkh566CFJ0vjx4/XEE0/4pEYAQHDhkVQAAALEI488ovj4eNN9W7ZsKdO5kpOTJRU+7kpYBAB4QmAEACBAxMfH68477zTdN2PGjDKda8OGDZKkKVOmVLguAEDw4pFUAAACyL59+9SoUaNi7x+etWXLFjVv3tyr8yQnJ+uSSy7R0qVLfV0iACCIMMIIAEAAqVevnvr372+6b9q0aV6dY/ny5dq+fbv7HUYAADxhhBEAgADz9ddf64orriixvWrVqtq3b5/i4uJKPb537946ePCg1q5d668SAQBBghFGAAACTKdOndS2bdsS20+fPq1Zs2aVeuzOnTu1bNky3XfffX6qDgAQTAiMAAAEoDFjxphuf/HFF1Xaw0PPP/+86tev7/GxVgAAiiIwAgAQgG6++WbVqlWrxPYdO3bo448/Nj3m+PHjmjVrlsaOHauwsDB/lwgACAIERgAAAlBUVJRGjhxpus/T5DevvvqqQkNDPR4HAMC5mPQGAIAAtXfvXjVu3LjEEhuhoaHauXOnmjRp4t6Wn5+vJk2aqF+/fvrHP/5hdakAgADFCCMAAAGqfv36uvHGG0tsd7lcmj59erFtCxYs0P79+3X33XdbVR4AIAgwwggAQABbuXKlunTpUmJ7jRo1tHfvXsXExEiSOnbsqIYNG2r+/PlWlwgACGCMMAIAEMA6d+6sNm3alNh+7NgxzZ07V1Lhuo1r165lKQ0AQJkRGAEACHCeltg4O/nN1KlTdfnll6tjx45WlgUACAI8kgoAQIDLzs5W/fr1dfTo0RL75syZo9tuu03vvPMOay8CAMqMwAgAQBB46KGHNGnSpBLbIyMjVbduXf3444+svQgAKDMeSQUAIAiMGjXKNBDm5ubq7rvvJiwCAMqFEUYAAILETTfdpMWLFxfbFhcXp71796patWo2VQUACGSMMAIAECTGjh1bYtvIkSMJiwCAcmOEEQCAIJKSkqLNmzdLksLDw/XTTz+pYcOGNlcFAAhUjDACABBE7rrrLvfnfv36ERYBABXCCCMAAEEkKytL9erV0/Hjx7V27VqlpaXZXRIAIICF210AAADwnZiYGI0YMYKwCADwCUYYAQAIMocPH9bx48d1ySWX2F0KACDAERgBAAAAAKaY9AYAAAAAYIrACAAAAAAwRWAEAAAAAJgiMAIAAAAATBEYAQAAAACmCIwAAAAAAFMERgAAAACAKQIjAAAAAMAUgREAAAAAYIrACAAAAAAwRWAEAAAAAJgiMAIAAAAATBEYAQAAAACmCIwAAAAAAFMERgAAAACAKQIjAAAAAMAUgREAAAAAYIrACAAAAAAwRWAEAAAAAJgiMAIAAAAATBEYAQAAAACmCIwAAAAAAFMERgAAAACAKQIjAAAAAMAUgREAAAAAYIrACAAAAAAwRWAEAAAAAJgiMAIAAAAATBEYAQAAAACmCIwAAAAAAFMERgAAAACAKQIjAAAAAMAUgREAAAAAYIrACAAAAAAwRWAEAAAAAJj6/31h7Nh/9bNhAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# `x[0,0]` is the first value (1st line, 1st column), `x[0,1]` is the value of \n", "# the 1st line, 2nd column, which corresponds to the value of P at the initial\n", "# time. We plot just this point first to know where we started:\n", "plot(x[0,0], x[0,1], 'o')\n", "print('Initial condition:', x[0])\n", "\n", "# `x[0]` or (equivalently) x[0,:] is the first line, and `x[:,0]` is the first\n", "# column. Notice the colon `:` stands for all the values of that axis. We are\n", "# going to plot the second column (P) against the first (V):\n", "plot(x[:,0], x[:,1])\n", "xlabel('V')\n", "ylabel('P')\n", "\n", "# Let's calculate and plot another solution with a different initial condition\n", "x2 = odeint(LV, [10., 4.], t, (r, c, e, d))\n", "plot(x2[:,0], x2[:,1])\n", "plot(x2[0,0], x2[0,1], 'o')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Congratulations**: you are now ready to integrate any system of differential equations! (We hope generalizing the above to more than 2 equations won't be very challenging)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### For more info:\n", "\n", "* [Python tutorial](http://docs.python.org/3/tutorial/index.html) (chapters 3 to 5 are specially useful).\n", "* [An introduction to Numpy](http://nbviewer.ipython.org/github/iguananaut/notebooks/blob/master/numpy.ipynb)\n", "* [Another one](http://nbviewer.ipython.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-2-Numpy.ipynb), covering a little bit more ground.\n", "* [The matplotlib gallery](http://matplotlib.org/gallery.html): all kinds of plots, with sample code to use." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.1" } }, "nbformat": 4, "nbformat_minor": 1 }