From 9f0fa9541b8e93de0f0a23f1df410dc1fb5d7983 2015-01-12 14:05:27 From: Andreas Amann Date: 2015-01-12 14:05:27 Subject: [PATCH] use better integration boundaries Because this example intends to illustrate the difference between trapezoid rule and high-order integration, choose an appropriate integration interval where such a difference exists. Also implement the trapezoid rule directly for pedagogical purposes, instead of relying on a canned version from scipy. --- diff --git a/examples/IPython Kernel/Trapezoid Rule.ipynb b/examples/IPython Kernel/Trapezoid Rule.ipynb index 2bfb555..ecdf50c 100644 --- a/examples/IPython Kernel/Trapezoid Rule.ipynb +++ b/examples/IPython Kernel/Trapezoid Rule.ipynb @@ -37,7 +37,7 @@ "cell_type": "code", "execution_count": 2, "metadata": { - "collapsed": true + "collapsed": false }, "outputs": [], "source": [ @@ -63,9 +63,10 @@ }, "outputs": [], "source": [ - "a, b = 1, 9\n", - "xint = x[np.logical_and(x>=a, x<=b)][::30]\n", - "yint = y[np.logical_and(x>=a, x<=b)][::30]" + "a, b = 1, 8 # the left and right boundaries\n", + "N = 5 # the number of points\n", + "xint = np.linspace(a, b, N)\n", + "yint = f(xint)" ] }, { @@ -85,250 +86,255 @@ { "data": { "image/png": [ - "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\n", + "hL527drxzc3NKePGjdualZV1sKGh4e2kpKTG+++//6q8vLx3+mMp5KKioiNer/fYiy++eN4ll1zy\n", + "Tk/OOXLkSJ7f79+vz21UX4zomTIiuIH/ACgo2PBSYmJtk8MhjThtbW1SV1eXC5Camjrg/c579+4t\n", + "ioiIqM/Pz6+eNm3anrlz526uq6uL2rdv35yysrK3++s+M2bMeHXDhg1Lelq/pqamOCUlZUt/3V+N\n", + "TCM6oWNN8S8VqTtWVvbkG04HMxJt3rw5o729PQogJydnwBP6sWPHxsTFxe3ufGzt2rUTPB7P0ZSU\n", + "lIb+us+UKVN2t7S0JGzYsCHrbHV37dqV1NzcnDR69Oit/XV/NTKN2OVzRYjCXuvc53vyeY+noc0a\n", + "sKMG065du/IARCQYCAQODdR9fvnLXy5vbm6OO3HiRL7X6z189913f9Xv9x/5whe+8OjevXvHJSUl\n", + "7ejq3A8++GD0+vXrZwLm5MmTKddff/1vV69ePa+lpcXb0NCQeOGFFz5z+gPQiIgIExcXt/OTTz4Z\n", + "X1pa+pmRO2+88Ubx+vXr5/v9/qNtbW3RSUlJBwEzZcqUbX29rxrZRnILfTkwBtgcH//v7zkcy4hV\n", + "WVmZB+Dz+Q4N5IzcL3/5y/dfeumlDwNMnTr1qTvuuON/vvCFLzwKcOLEiZzk5OSQ/fdbtmxJ+/DD\n", + "D89fsWLFEytWrFgVERHRdO+9936joKBgSyAQWF9ZWXneBx98MCnUuXFxcQdrampyOh97+umnZ1dU\n", + "VHzxkksuWbV8+fLfL1my5LkNGzZc7ff793XuP+/LfdXINSITut06/6Zd/DeRFl07xCG1tbW5AHFx\n", + "cQO+wuKOHTtGA+Tn539meYGmpqZkj8cT8mHkmjVrFl5//fWfPiwPBoNRkZGRJ2fMmLErIyOjJi8v\n", + "b3V5eXnIDTeio6MbGhoaUjvK69evH7Vu3bobp06d+nheXl4NQHZ29omIiIiGlJSUz3S39OW+auQa\n", + "kQkd+DwwGmthsSccjmXEamtrk4aGhmyA1NTUPQN9v8rKyhy32904duzY6s7Hg8Gg1+fzhew/X7Ro\n", + "0Ut+v7+1o1xbW5uflpa2CSA3N7d2+fLlT3bV9+7xeE62tbV5O8qvv/76FS6Xq+miiy769Bvhzp07\n", + "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\n" ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -337,7 +343,7 @@ ], "source": [ "plt.plot(x, y, lw=2)\n", - "plt.axis([0, 10, 0, 140])\n", + "plt.axis([0, 9, 0, 140])\n", "plt.fill_between(xint, 0, yint, facecolor='gray', alpha=0.4)\n", "plt.text(0.5 * (a + b), 30,r\"$\\int_a^b f(x)dx$\", horizontalalignment='center', fontsize=20);" ] @@ -360,21 +366,39 @@ "name": "stdout", "output_type": "stream", "text": [ - "The integral is: 680.0 +/- 7.54951656745e-12\n", - "The trapezoid approximation with 6 points is: 621.286411141\n" + "The integral is: 565.2499999999999 +/- 6.275535646693696e-12\n", + "The trapezoid approximation with 5 points is: 559.890625\n" ] } ], "source": [ "from __future__ import print_function\n", - "from scipy.integrate import quad, trapz\n", - "integral, error = quad(f, 1, 9)\n", + "from scipy.integrate import quad\n", + "integral, error = quad(f, a, b)\n", + "integral_trapezoid = sum( (xint[1:] - xint[:-1]) * (yint[1:] + yint[:-1]) ) / 2\n", "print(\"The integral is:\", integral, \"+/-\", error)\n", - "print(\"The trapezoid approximation with\", len(xint), \"points is:\", trapz(yint, xint))" + "print(\"The trapezoid approximation with\", len(xint), \"points is:\", integral_trapezoid)" ] } ], - "metadata": {}, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.4.2" + } + }, "nbformat": 4, "nbformat_minor": 0 } \ No newline at end of file