{ "worksheets": [ { "cells": [ { "source": "Basic numerical integration: the trapezoid rule\n===============================================\n\nA simple illustration of the trapezoid rule for definite integration:\n\n$$\n\\int_{a}^{b} f(x)\\, dx \\approx \\frac{1}{2} \\sum_{k=1}^{N} \\left( x_{k} - x_{k-1} \\right) \\left( f(x_{k}) + f(x_{k-1}) \\right).\n$$\n
\nFirst, we define a simple function and sample it between 0 and 10 at 200 points", "cell_type": "markdown" }, { "cell_type": "code", "language": "python", "outputs": [], "collapsed": true, "prompt_number": 1, "input": "def f(x):\n return (x-3)*(x-5)*(x-7)+85\n\nx = linspace(0, 10, 200)\ny = f(x)" }, { "source": "Choose a region to integrate over and take only a few points in that region", "cell_type": "markdown" }, { "cell_type": "code", "language": "python", "outputs": [], "collapsed": true, "prompt_number": 2, "input": "a, b = 1, 9\nxint = x[logical_and(x>=a, x<=b)][::30]\nyint = y[logical_and(x>=a, x<=b)][::30]" }, { "source": "Plot both the function and the area below it in the trapezoid approximation", "cell_type": "markdown" }, { "cell_type": "code", "language": "python", "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD3CAYAAADmBxSSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVXX+x/HXZUfZZVEBV9TY3Usnk1Iy0Db3vbFlmspp\nMmd+beOgVlq2mDXjtDqTMjMuY7mBpGZYmYpiiLihbHIRZRNkX+/vjyOb4sL1wrnA5/l43Mc9nMs5\n5+N91Nuv3/M9369Gp9PpEEII0a6YqF2AEEIIw5NwF0KIdkjCXQgh2iEJdyGEaIck3IUQoh2ScBdC\niHbopuH+5JNP4ubmhr+//3WfffDBB5iYmJCXl1e3b/ny5fj4+ODv78+uXbsMX60QQojbctNwnzdv\nHlFRUdftT09PZ/fu3fTs2bNuX2xsLN988w3Hjx8nKiqKZ599loqKCsNXLIQQ4pZuGu6jRo3C0dHx\nuv0vv/wyK1asaLQvIiKC6dOnY2pqiru7O76+vsTExBi2WiGEELfFrLkHbN26FQ8PDwICAhrtz8jI\n4IEHHqj72cPDA61We93xGo1GjzKFEEI0Z0KBZt1QLSkpYdmyZSxZskSvizU8Rl46wsLCVK/BWF7y\nXch30Va+i9GjdYCOFSta97rN1ayWe1JSEqmpqQQGBgKg1WoZMmQIhw4dwsPDg/T09Lrf1Wq1eHp6\nNrsgIYQwVocOwb59YG8Pzz6rdjU316yWu7+/P5cuXSIlJYWUlBQ8PDw4evQobm5uhIaGsmHDBqqq\nqtBqtSQkJDB8+PCWqlsIIVrdu+8q7889B3Z26tZyKzcN9xkzZjBy5EgSExPx9PTkn//8Z6PPG/af\nDxkyhMcff5yAgAAeeughPvvsM8zNzVum6nYiKChI7RKMhnwX9eS7qGdM38WZM7BlC1hawh//qHY1\nt6bR6dOZcycX1Gj06j8SQgg1Pf00fPUV/O538NlnrX/95manhLsQQtzChQvQuzdUViot+H79Wr+G\n5manTD8ghBC3sHIlVFTApEnqBLs+pOUuhBA3kZMDvXpBcTEcPgxDh6pTh7TchRDCgFauVII9JES9\nYNeHtNyFEOIGLl+Gnj2hsBB++QVGjFCvFmm5CyGEgaxapQT72LHqBrs+pOUuhBBNKChQWu0FBfDj\njzBqlLr1SMtdCCEM4JNPlGAPClI/2PUhLXchhLjGlSvKuPa8PNi7F+6/X+2KpOUuhBB3bOVKJdjv\nvVdpubdF0nIXQogGcnOVVnthoTID5H33qV2RQlruQghxB1asUIL9wQeNJ9j1IS13IYS4KjMT+vaF\n0lKIiYFhw9SuqJ603IUQQk/LlinB/thjxhXs+pCWuxBCAGlpyqRgVVUQHw9+fmpX1Ji03IUQQg9/\n/asype/06cYX7PqQlrsQosOLi4PBg8HMDE6fhj591K7oetJyF0KIZvq//wOdDl54wTiDXR/SchdC\ndGjffQcPPQT29pCUBF26qF1R06TlLoQQt6m6Gv78Z2X7jTeMN9j1IeEuhOiw1q6F48eV2R//8Ae1\nqzEsCXchRIdUWKi01gHefhusrNStx9BuGu5PPvkkbm5u+Pv71+17+eWX8fHxwcfHhwkTJpCbm1v3\n2fLly/Hx8cHf359du3a1XNVCCHGHli1TnkgdPhxmzFC7GsO7abjPmzePqKioRvsefvhhEhISOHny\nJH5+frz11lsAxMbG8s0333D8+HGioqJ49tlnqaioaLnKhRBCT+fOwYcfKtsffwwm7bAP46Z/pFGj\nRuHo6Nho3/3334/J1W/iN7/5DRkZGQBEREQwffp0TE1NcXd3x9fXl5iYmBYqWwgh9Pfyy1BRAU88\nAXffrXY1LcPsTg7+/PPPmT59OgAZGRk88MADdZ95eHig1WqbPG7x4sV120FBQQS11QmThRBtznff\nwfbtYGsLy5erXc2NRUdHEx0drffxeof722+/jYWFBbNmzWr2sQ3DXQghWktFBbz0krK9aBF066Zu\nPTdzbcN3yZIlzTper3D/+uuviYiIYO/evXX7PDw8SE9Pr/tZq9Xi6empz+mFEKJFfPCBMr1Av37w\nxz+qXU3LavZthKioKFasWMG2bduwajB2KDQ0lA0bNlBVVYVWqyUhIYHhw4cbtFghhNBXcjIsXaps\nr14NFhbq1tPSbtpynzFjBvv27SMnJwdPT0+WLFnC8uXLqaioIDg4GIARI0awevVqhgwZwuOPP05A\nQAAmJiZ89tlnmJubt8ofQgghbqZ23piyMpg5E8aOVbuilidzywgh2r2NG2HaNHBwULpl3NzUrqj5\nZG4ZIYRooKCg/ibqO++0zWDXh4S7EKJde/nlcjIzYcQIeOYZtatpPdItI4Rot779toCJE+0xNa3m\n119NaTCTSpsj3TJCCAGcO3exrqUeHHyoTQe7PiTchRDtTmpqKk89dZHcXHv69y9mzJjDapfU6iTc\n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\n+PHjiY+PJyQkhLCwsFuep1XC3VDj39sLNzc3/Pz8ALCxsSEgIIALFy6oXJU6tFotkZGRPP300x36\nZntubi5xcXHMuPrUnomJCXZ2dipXpQ4nJyfMzc0pLi6mqqqKkpISevbsqXZZrWbUqFE4Ojo22hcZ\nGcmcOXMAmD179m3lZ6uEe1Pj37VabWtc2uilpqZy+PBh7u2gK5EsWLCA9957DxMTo53mqFWcPXsW\nFxcXpk6dip+fH3PnzqWoqEjtslTh5OTEwoUL6dGjB927d8fBwYGxY8eqXZaqsrOz6dKlCwDOzs5k\nZWXd8phW+T+qo/9z+0aKioqYMmUKq1atwtbWVu1yWt2OHTtwdXVl0KBBHbrVDsqDNocPH+bPf/4z\nCQkJODk58eabb6pdliqSkpL46KOPSE1N5cKFCxQVFfHvf/9b7bLanFYJ99sZ/97RVFZWMmnSJGbO\nnMljjz2mdjmq+OWXX9i2bRu9e/dmxowZ7N27l7lz56pdlio8PT1xd3dn2LBhAEyePJm4uDiVq1JH\nTEwMI0eOpEuXLpiZmTFx4kR+/vlntctSlYuLCzk5OYDSind1db3lMa0S7jL+vTGdTsdTTz2Fj48P\nCxYsULsc1Sxbtoz09HRSUlJYv349DzzwAGtrV0PvYDw9PXF2diYxMRGAPXv24N1BV6jx8vLi4MGD\nlJaWotPp2LNnD15eXmqXparQ0FDCw8MBCA8PJzQ09NYH6VpJZGSkztfXV+ft7a1btmxZa13WKP30\n0086jUajCwwM1A0cOFA3cOBA3c6dO9UuS1XR0dG6hx9+WO0yVBUXF6cbOnSozsfHRxcSEqLLy8tT\nuyTVhIWF6by8vHT9+/fXTZs2TVdaWqp2Sa1m+vTpum7duunMzc11Hh4eujVr1uhyc3N1Y8eO1fn7\n++uCg4N1ly9fvuV5NDpdB+/sFEKIdqhjD1EQQoh2SsJdCCHaIQl3IYRohyTchRCiHZJwF0KIdkjC\nXQgh2qH/B7d8dxd+Imh6AAAAAElFTkSuQmCC\n" } ], "collapsed": false, "prompt_number": 3, "input": "plot(x, y, lw=2)\naxis([0, 10, 0, 140])\nfill_between(xint, 0, yint, facecolor='gray', alpha=0.4)\ntext(0.5 * (a + b), 30,r\"$\\int_a^b f(x)dx$\", horizontalalignment='center', fontsize=20);" }, { "source": "Compute the integral both at high accuracy and with the trapezoid approximation", "cell_type": "markdown" }, { "cell_type": "code", "language": "python", "outputs": [ { "output_type": "stream", "text": "The ingtegral is: 680.0 +/- 7.54951656745e-12\nThe trapezoid approximation with 6 points is: 621.286411141" } ], "collapsed": false, "prompt_number": 4, "input": "from scipy.integrate import quad, trapz\nintegral, error = quad(f, 1, 9)\nprint \"The ingtegral is:\", integral, \"+/-\", error\nprint \"The trapezoid approximation with\", len(xint), \"points is:\", trapz(yint, xint)" }, { "input": "", "cell_type": "code", "collapsed": true, "language": "python", "outputs": [] } ] } ], "metadata": { "name": "trapezoid rule integration" }, "nbformat": 2 }