diff --git a/Week 1/01 Rounding and Truncation Error Analysis.ipynb b/Week 1/01 Rounding and Truncation Error Analysis.ipynb index 1f363cb..e62c16a 100644 --- a/Week 1/01 Rounding and Truncation Error Analysis.ipynb +++ b/Week 1/01 Rounding and Truncation Error Analysis.ipynb @@ -70,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 1, "metadata": { "deletable": false, "nbgrader": { @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 2, "metadata": { "deletable": false, "nbgrader": { @@ -171,15 +171,15 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "75.7 ms ± 397 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", - "23.9 µs ± 4.85 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "75.4 ms ± 368 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", + "25.8 µs ± 8.69 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" ] } ], @@ -191,7 +191,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 4, "metadata": { "deletable": false, "nbgrader": { @@ -235,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 5, "metadata": { "deletable": false, "editable": false, @@ -286,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 6, "metadata": { "deletable": false, "nbgrader": { @@ -322,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 7, "metadata": { "deletable": false, "nbgrader": { @@ -368,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 8, "metadata": { "deletable": false, "editable": false, @@ -425,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "deletable": false, "nbgrader": { @@ -443,13 +443,30 @@ "outputs": [], "source": [ "def getEulerRounding(N, d):\n", - " # YOUR CODE HERE\n", - " raise NotImplementedError()" + " n = np.arange(N + 1)\n", + " e_n = 1 / scipy.special.factorial(n)\n", + " \n", + " # Instead of Python's standard round function, we use numpy.round, \n", + " # as it can handle numpy.arrays and is further the same.\n", + " eApprox = np.sum(np.round(e_n, d))\n", + " \n", + " return eApprox" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "d_list = np.arange(1, 5)\n", + "x = np.arange(30)\n", + "eulerErrs = [getEulerErr(np.array([getEulerRounding(N, d) for N in x])) for d in d_list]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "metadata": { "deletable": false, "nbgrader": { @@ -464,17 +481,34 @@ "task": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ - "# do your plotting here\n", - "\n", - "# YOUR CODE HERE\n", - "raise NotImplementedError()" + "plt.figure()\n", + "plt.yscale(\"log\")\n", + "plt.xlabel(\"N\")\n", + "plt.ylabel(\"Relative error in Euler's number $\\delta$\")\n", + "for errs in eulerErrs:\n", + " plt.plot(x, errs)\n", + "plt.legend([\"d = \" + str(d) for d in d_list])\n", + "plt.show()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "deletable": false, "editable": false,