{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

Practical Work 1 : introduction to numerical resolution of ODEs

\n", "
\n", "\n", "*Authored in 2025 for educational purpose by S. Cardonna, Q. Richard, V. Lleras & P. Azerad. If you identify any issues or have suggestions for improvement, feel free to contact me.* \n", " \n", "**Introduction** \n", "For this first practical work, we first show how vector fields can give us a geometric intiuition of an ODE, using the software Wolfram Player. We will then solve numerically our first equation using an Euler's method. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

Part 1 - Geometrical interpretation of an ODE

\n", "
\n", "This section is focused on learning how to visualize the vector field corresponding to a differential equation.\n", "\n", "You can download the `SlopeFields.cdf` file from Moodle and open it using the Wolfram Player application (menu: education) (Wolfram CDF Player is free and allows you to view `.cdf` files. However, to *create* `.cdf` files, you would need the Mathematica software, which our faculty does not currently have). \n", "The script `SlopeFields.cdf` lets you visualize the vector field (or slope field) associated with a differential equation:\n", "\n", "$$ y' = f(x, y). $$\n", "\n", "At each point $(x, y)$ on a grid, a small line segment is drawn with a slope equal to $f(x, y)$. \n", "Solving the differential equation for a specific initial condition means finding a curve $x \\mapsto y(x)$ that satisfies $y'(x) = f(x, y(x))$. This means the slope of the tangent to the curve at $(x, y)$ matches the slope of the small line segment at that point. In other words, the curve is **tangent** to all the small line segments it crosses. \n", "The initial condition $y(x_0) = y_0$ simply means that the curve passes through the point $(x_0, y_0)$.\n", "\n", "The `.cdf` script offers a menu of 14 functions. Take some time to experiment with a few of them, changing the parameters, initial condition, and reflecting on the visualized results to build your intuition about differential equations. \n", "Be sure to check the box **\"show exact solution\"**.\n", "\n", "In several examples, if $f(x, y)$ does not depend on $x$, the differential equation is called **autonomous**. The vector field is then invariant under the translation $x \\mapsto x + C$, and so is the set of solutions. \n", "\n", "For instance, if $f(x, y) = g(y/x)$, it does not depend on $y/x$. Under what type of transformation is the vector field invariant? \n", "**Answer:** Homothety with center $0$. \n", "\n", "In another example, if $f(x, y)$ does not depend on $y$, it is not a “true” differential equation but rather the search for a primitive of $f$. The vector field is invariant under the translation $y \\mapsto y + C$. \n", "\n", "**Result:** When a vector field has a certain symmetry, the set of solutions exhibits the same symmetry." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "

Part 2 - Order of convergence for Euler's method

\n", "
\n", "\n", "Let us write a code that solve the typical ordinary differential equation\n", "$$ y'=f(t,y),$$\n", "using Euler's method. For now let us consider only the case $f(t,y)=y$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subpart 1 - First implementation ####\n", "Here is the Python code to solve the ODE $y'=f(t,y)$." ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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/d555x3q1q3LxIkTmTx5Mnny5KF79+6pjqStXLmS5557jp49e/LOO++kefLwU089xezZs+nWrRvvv/8+zz//PAEBAezZs8e5z7x58+jRowfe3t5MmTKFgQMH8t1333HvvfcSGRmZ4rm0a9eOggULMn36dJo3b86bb76Z7imT+/fvp2fPnnTo0IEpU6Y4n2NERIRzn5iYGJo3b86XX37J448/zsyZM2nSpAmjR49mxIgRABQuXJjZs2cD0LVrV7744gu++OILHnroIe69915sNhtr1qxxHnPt2rV4eXnx22+/OdedO3eOv//+m2bNmjnXvfbaazz++ONUrFiRt956i+HDh7NixQqaNWvmkouVK1fSrFkzoqOjGTduHJMnTyYyMpJWrVqxadOmFM+7R48eXL58mSlTptCjRw/mzZvnnJZ4K5cuXaJ9+/bUrl2bN998kypVqvDiiy/y888/p+v+aR3z/vvvp2HDhkybNg0/Pz969erFwoUL6dWrFx07duT111/n6tWrPPzww1y+fNl53zNnznDPPfewfPlyhg0bxjvvvEOFChUYMGAAM2bMSPFYr776Kj/++CPPP/88kydPTnM6X0REBM2aNWP37t08++yzvPnmm7Rs2ZIlS5a47HPo0CH69+/PrFmz6NWrF1999RUdO3ZM8aEvvRITE2nXrh1FihRh+vTpdOvWDYDBgwczatQo5zmW/fv3Z/78+bRr146EhAQAzp49S9u2bTly5AgvvfQSs2bNok+fPun6UJweX3zxBX5+fjRt2tT5Hh88eDCQvt/t1GzevJn169fTq1cvZs6cyVNPPcWKFSto0aJFqsX9008/zY4dOxg3bhz/+te/+O9//8uwYcNc9hk7dixjxoyhdu3avPHGG5QrV462bdty9erVdD3P9OT6lVdeoU6dOgwYMMD5fly2bBkfffQRY8eOpXbt2gBER0fz8ccf06JFC6ZOncr48eM5d+4c7dq1S3HO0IABA5xf2EydOpWXXnoJf39/5+t3s/yn5qOPPuKZZ56hWrVqzJgxgwkTJlCnTh02btzo3GfXrl00bdqUHTt28MILLzBmzBgOHz5MixYtXPa7XVWrVmXixImAWWQ64r7+79z1DMPgwQcf5O2336Z9+/a89dZbVK5cmVGjRjn/3l7vt99+Y8iQIfTq1Ytp06YRGxtLt27dbvvLDJHbZohIpoiKijIAo3Pnzunaf/v27QZgPPnkky7rn3/+eQMwVq5c6VxXunRpAzDWr1/vXLds2TIDMAICAoyjR48613/44YcGYKxatcq5rm/fvgZgPP300851drvd6NSpk+Hr62ucO3fOuT4mJsYlnvj4eKNGjRpGq1atXNYDhpeXl7Fr164Uzw0wxo0b57wdEhJiDB06NM1cxMfHG0WKFDFq1KhhXLt2zbl+yZIlBmCMHTs2xXOZOHGiyzHq1q1r1K9fP83HcHDkctGiRc51UVFRRnh4uFG3bl3nuldffdUICgoy9u3b53L/l156yfD29jb++ecfwzAM49y5cymer0P16tWNHj16OG/Xq1fP6N69uwEYe/bsMQzDML777jsDMHbs2GEYhmEcOXLE8Pb2Nl577TWXY/35559Gnjx5nOvtdrtRsWJFo127dobdbnfuFxMTY5QtW9Zo06aNc924ceMMwHjiiSdcjtm1a1ejYMGCt8xZ8+bNDcD4/PPPnevi4uKMsLAwo1u3bs51c+fONQDj8OHDLvdftWpVivek45gLFixwrvv777+d76vff//dud7xXp87d65z3YABA4zw8HDj/PnzLo/Vq1cvIyQkxPk+djx2uXLlUry3b4wrMTHRKFu2rFG6dGnj0qVLLvvemOMb/fvf/zYAY82aNbfMx40c7+mXXnrJZf3atWsNwJg/f77L+qVLl7qs//777w3A2Lx5c5qPkdprYBiGcfjw4RS5dbxfrhcUFGT07ds3xXFv9budltRyuGHDhhTvM0cOW7du7fIaPPfcc4a3t7cRGRlpGIZhnD171vD19TU6derkst/LL79sAKnGfr305towzN9FX19f48knnzQuXbpkFC9e3GjQoIGRkJDg3CcxMdGIi4tzOdalS5eMokWLuvwerly50gCMZ555JkVM1z+PtPKfms6dOxvVq1e/6T5dunQxfH19jYMHDzrXnTx50siXL5/RrFkz57rU3jelS5dONZbmzZsbzZs3d97evHlziveWQ9++fY3SpUs7by9evNgAjEmTJrns9/DDDxs2m804cOCAcx1g+Pr6uqzbsWOHARizZs266fMWyWwakRLJJNHR0QDky5cvXfv/9NNPACm+bRs5ciRAihGgatWq0ahRI+fthg0bAtCqVStKlSqVYv2hQ4dSPOb13+A6pkfEx8e7TJsKCAhwLl+6dImo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1as5cuQILVu2BCB//vzYbDb69esHpJzad+nSJR5//HHy589PYGAgHTp0YP/+/c7t8+bNIzQ0lGXLllG1alXy5s1L+/btOXXqVIaev4iIiIhknK4jlUExMZA3750dw26HoUPNn5S8gNBU73flCgQFpf9xvL29mTx5Mr179+aZZ56hRIkStxGtaeXKlZQoUYI1a9awbt06BgwYwPr162nWrBkbN25k4cKFDB48mDZt2lCiRAkSEhJo164djRo1Yu3ateTJk4dJkybRvn17du7cia+vLwArVqwgODiYiIiIVB/XbrfToUMHLl++zJdffkn58uXZvXs33t7eAMTGxlK/fn1efPFFgoOD+fHHH3nssccoX748d999d7qeW58+fahbty6zZ8/G29ub7du34+PjA8DWrVvp0aMH48ePp2fPnqxfv54hQ4ZQsGBBZwGUESVLlmTRokV069aNvXv3EhwcnOb1yfr168f+/fv54YcfCA4O5sUXX6Rjx47s3r3bGV9MTAzTp0/niy++wMvLi0cffZTnn3+e+fPnZzg2EREREUk/FVI5XNeuXalTpw7jxo3jk08+ue3jFChQgJkzZ+Ll5UXlypWZNm0aMTExvPzyywCMHj2a119/nd9++41evXqxcOFC7HY7H3/8sfOcrLlz5xIaGsrq1atp27YtAEFBQXz88cfOwupGy5cvZ9OmTezZs4dKlSoBUK5cOef24sWL8/zzzztvP/300yxbtoyvv/463YXUP//8w6hRo6hSpQoAFStWdG576623uO+++xgzZgwAlSpVYvfu3bzxxhu3VUh5e3tToEABAIoUKUJoaGiq+zkKqHXr1tG4cWMA5s+fT8mSJVm8eDHdu3cHzAtGf/DBB5QvXx6AYcOGMXHixAzHJSIiIiIZo0IqgwIDzZGhjDhxAqpWNUeiHLy9YfduKF7cdV+73U50dDTBwcEpLp56u6cNTZ06lVatWrkUHBlVvXp1l3iKFi1KjRo1nLe9vb0pWLAgZ8+eBczpcgcOHEhxzk9sbCwHDx503q5Zs2aaRRTA9u3bKVGihLOIulFSUhKTJ0/m66+/5sSJE8THxxMXF5ehc6xGjBjBk08+yRdffEHr1q3p3r27szDZs2cPnTt3dtm/SZMmzJgxg6SkJOfIWGbbs2cPefLkoWHDhs51BQsWpHLlyuzZs8e5LjAw0BkrQHh4uPM1EBERERH30TlSGWSzmdPrMvJTqRLMmWMWT2D+++GH5vqMHOd2m+01a9aMdu3aMXr06BTbvLy8MG44+SohISHFfo6pZMl5sKW6zv6/avHKlSvUr1+f7du3u/zs27eP3r17O+8TdIu5imlNe3N44403eOedd3jxxRdZtWoV27dvp127ds7GFekxfvx4du3aRadOnVi5ciXVqlXj+++/T/f9r+coNq/PaWr5zCypvQY3vp4iIiIinsxr1ix8o6KsDiPDNCKVRQYMgHbt4MABqFAB7uB0pdvy+uuvU6dOHWdDB4fChQtz+vRpDMNwTsG7vlHC7apXrx4LFy6kSJEiBAcH3/ZxatWqxfHjx9m3b1+qo1Lr1q2jc+fOPProo4A5ordv3z6qVauWocepVKkSlSpV4rnnnuORRx5h7ty5dO3alapVq7Ju3boUj1mpUqVUR6MKFy4MwKlTp6hbty6QMp+OEbikpKQ046latSqJiYls3LjRObXvwoUL7N27N8PPTURERMRjffst3iNH0jJ/fnjwQUjjtAdPpBGpLFSiBLRokfVFFJhT6Pr06cPMmTNd1rdo0YJz584xbdo0Dh48yHvvvcfPP/98x4/Xp08fChUqROfOnVm7di2HDx9m9erVPPPMMxzPQP/35s2b06xZM7p160ZERASHDx/m559/ZunSpYB5PlNERATr169nz549DB48mDNnzqT7+NeuXWPYsGGsXr2ao0ePsm7dOjZv3kzVqlUBGDlyJCtWrODVV19l3759fPbZZ7z77rtpTpMMCAjgnnvu4fXXX2fPnj38+uuvvPLKKy77lC5dGpvNxpIlSzh37hxXUpkrWrFiRTp37szAgQP57bff2LFjB48++ijFixdPMdVQREREJFu6cMHZfe1omzYZ66rmAVRI5SITJ050Tr1zqFq1Ku+//z7vvfcetWvXZtOmTXd0LpVDYGAga9asoVSpUjz00ENUrVqVAQMGEBsbm+ERqkWLFnHXXXfxyCOPUK1aNV544QXnaM4rr7xCvXr1aNeuHS1atCAsLIwuXbqk+9je3t5cuHCBxx9/nEqVKtGjRw86dOjAhAkTAHNk7euvv+arr76iRo0ajB07lokTJ9600cSnn35KYmIi9evXZ/jw4UyaNMlle/HixZkwYQIvvfQSRYsWZdiwYakeZ+7cudSvX5/777+fRo0aYRgGP/30U4rpfCIiIiLZ0vDhcPYsRrVq7PtfI63sxGbohAqio6MJCQkhKioqxYf82NhYDh8+TNmyZfH393d7LDdrNiF3Lrfn193v54SEBH766Sc6duyogs8NlF/3Un7dS/l1L+XXvZRfN1iyBB54ALy8SFy7lh/PnfOY/N6sNrhe7vskKSIiIiIi1omKgqeeMpdHjMC46y5r47lNKqRERERERCTrTJpkXh+oYkXIxte/VNc+ERERERHJOq+8AtHR0KcPBASAGy8V404qpEREREREJOuEhJgXVc3mNLVPRERERETcb+NGyEF97lRIiYiIiIiIe61bB40aQbt2EB9vdTSZQoWUiIiIiIi4T2wsDBhgjkaVKAG+vlZHlClUSImIiIiIiPtMmAB790J4OLz5ptXRZBoVUiIiIiIi4h5btsAbb5jLs2dD/vzWxpOJVEhJtmez2Vi8ePEdH6dMmTLMmDHjjo8jIiIiIpjnQj3xBCQlQa9e0Lmz1RFlKhVSOVS/fv2w2Wwpftq3b59lMYwfP546depk2eOl14IFCyhQoECK9Zs3b2bQoEEWRCQiIiKSA73+Ovz5JxQqBDNnWh1NptN1pHKw9u3bM3fuXJd1fn5+FkXj+QoXLmx1CCIiIiI5R+vW8O9/w7hxkAM/Z2lE6nZdvZr2T2xs+ve9di19+94GPz8/wsLCXH7y/29e6urVq/H19WXt2rXO/adNm0aRIkU4c+YMAEuXLuXee+8lNDSUggULcv/993Pw4EGXxzh+/DiPPPIIBQoUICgoiAYNGrBx40bmzZvHhAkT2LFjh3M0bN68eanGuXr1au6++26CgoIIDQ2lSZMmHD161Ll99uzZlC9fHl9fXypXrswXX3yR5nNevXo1NpuNyMhI57rt27djs9k4cuQIq1evZujQoURFRTnjGj9+PJByat8///xD586dyZs3L8HBwfTo0cOZG0gecfviiy8oU6YMISEh9OrVi8uXL9/0dRERERHJFRo3hh07oGdPqyNxCxVStytv3rR/unVz3bdIkbT37dDBZVdbuXKEliiBV3Cw636ZrEWLFgwfPpzHHnuMqKgo/vjjD8aMGcPHH39M0aJFAbh69SojRoxgy5YtrFixAi8vL7p27YrdbgfgypUrNG/enBMnTvDDDz+wY8cOXnjhBex2Oz179mTkyJFUr16dU6dOcerUKXqm8kuUmJhIly5daN68OTt37mTDhg0MGjQIm80GwPfff8+zzz7LyJEj+euvvxg8eDD9+/dn1apVt/W8GzduzJQpUwgODnbG9fzzz6fYz26307lzZy5evMivv/5KREQEhw4dSvEcDh48yOLFi1myZAlLlizh119/5fXXX7+t2ERERERyhCtXkpd9feF/n+tyGk3ty8GWLFlC3huKsJdffpmXX34ZgEmTJhEREcGgQYP466+/6Nu3Lw8++KBz3243FISffvophQsXZvfu3dSoUYMFCxZw7tw5Nm/e7DznqEKFCs798+bNS548eQgLC0szxujoaKKiorj//vspX748AFWrVnVunz59Ov369WPIkCEAjBgxgt9//53p06fTsmXLDOfE19eX4OBgbDbbTeNasWIFf/75J4cPH6ZkyZIAfP7551SvXp3Nmzdz1113AWbBNW/ePPLlywfAY489xooVK3jttdcyHJuIiIhItrdvH9xzD7z0EowcCd7eVkfkNiqkbtf1lfaNbnzDnD2b9r5eroOCxqFDREVHExwcjJfXnQ0YtmzZktmzZ7usu77Jgq+vL/Pnz6dWrVqULl2at99+22Xf/fv3M3bsWDZu3Mj58+edI1H//PMPNWrUYPv27dStWzfVxg3pVaBAAfr160e7du1o06YNrVu3pkePHoSHhwOwZ8+eFA0gmjRpwjvvvHPbj5kee/bsoWTJks4iCqBatWqEhoayZ88eZyFVpkwZZxEFEB4eztmbvd4iIiIiOZXdbl5499IlWLECRo2yOiK3snRq35o1a3jggQcoVqzYLVtYP/XUU9hsthTtqS9evEifPn0IDg4mNDSUAQMGcOVmRU5mCQpK+8ffP/37BgSkb9/bCjGIChUquPzcWPSsX78eMPN48eJFl20PPPAAFy9e5KOPPmLjxo1s3LgRgPj4eAACboz9Ns2dO5cNGzbQuHFjFi5cSKVKlfj9999v61iO4tMwDOe6hISETIkzNT4+Pi63bTabs+AUERERyVVmz4bffjNPS5kzJ8dO6XOwtJC6evUqtWvX5r333rvpft9//z2///47xYoVS7GtT58+7Nq1i4iICJYsWcKaNWvUwjqdDh48yHPPPcdHH31Ew4YN6du3r7MIuHDhAnv37uWVV17hvvvuo2rVqly6dMnl/rVq1WL79u0pCjAHX19fkpKS0hVL3bp1GT16NOvX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ZGkhtWXLFlq2bOm87ThvqW/fvowfP54ffvgBgDp16rjcb9WqVbT4XzU+f/58hg0bxn333YeXlxfdunVj5syZWRK/iIiIiIhbjRwJp05B5cowbpzV0ch1LC2kWrRowc2aBqanoWCBAgVYsGBBZoYlIiIiImK9ZcvMi+/abPDJJ+YFeMVjePQ5UiIiIiIiudLVqzBokLn8zDOQA7v1ZXcqpEREREREPE1gIEycaJ4T9dprVkcjqVAhJSIiIiLiaWw26NsXNm+GoCCro5FUqJASEREREfEU165BZGTybZvNslDk5lRIiYiIiIh4irFjoVo1s9GEeDRLu/aJiIiIiMj/bNoEb70FdjskJlodjdyCRqRERERERKwWFwdPPGEWUY8+Cp06WR2R3IIKKRERERERq732GuzaBUWKwIwZVkcj6aBCSkRERETESjt2wJQp5vJ770HBgtbGI+miQkpERERExCoJCdC/v3lOVLdu8PDDVkck6aRCSkRERETEKrGxUL06FCgA775rdTSSAeraJyIiIiJilXz54Isv4NQpCAuzOhrJAI1IiYiIiIhkNcMwfxzCw62LRW6LCikRERERkaw2cyZ07QonT1odidwmFVIiIiIiIlnp4EEYPRr+8x/48Uero5HbpEJKRERERCSrGAYMHAjXrkHLljBggNURyW1SISUiIiIiklU++ghWrYLAQHPZSx/Hsyu9ciIiIiIiWeHYMXj+eXP5tdegfHlr45E7okJKRERERMTdDAOeegouX4ZGjeDpp62OSO6QCikREREREXc7cwb27AFfX/jkE/D2tjoiuUO6IK+IiIiIiLuFhcGff8L69VC1qtXRSCbQiJSIiIiISFYICoI2bayOQjKJCikREREREXdZvBjeew/sdqsjkUymqX0iIiIiIu5w4QIMHgxnz0KePOay5BgakRIRERERcYfhw80iqlo16NfP6mgkk6mQEhERERHJbD/+CF9+aV5w99NPwc/P6ogkk6mQEhERERHJTFFRydP4nnsOGja0Nh5xCxVSIiIiIiKZ6YUX4MQJqFABJk60OhpxExVSIiIiIiKZ5cgRcyofmBfeDQy0NBxxH3XtExERERHJLGXKwMaNsHIlNGtmdTTiRiqkREREREQyU7165o/kaJraJyIiIiJyp7ZuhT//tDoKyUIqpERERERE7kRsLPTpA/Xrww8/WB2N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23nkkUfYtGkTderUSbFPy5YtCQ0NzYTwRERERMRjPfccRETA6dOwfbuuGSW5SoYLqbfffpvu3bvj7++f5j6hoaEcPnz4jgITEREREQ/200/w+edgs8GHH6qIklwnw4XUY4895o44RERERCS7iI6GwYPN5eHDoVEjS8MRsYK+OhARERGRjHnxRTh+HMqXh0mTrI5GxBIqpEREREQk/Vavhg8+MJc//hgCAy0NR8QqKqREREREJP0++8z896mnoEULS0MRsVKGz5ESERERkVzsk0+gaVN4+GGrIxGxlAopEREREUk/Ly944gmroxCxnKb2iYiIiMjNxcbCq6/ClStWRyLiMVRIiYiIiMjNvfoqjB0LbdqAYVgdjYhHUCElIiIiImnbtg2mTjWXR40yL8ArIiqkRERERCQNCQnm+VBJSdC9Ozz0kNURiXgMFVIiIiIikrqpU2HHDihYEGbNsjoaEY+iQkpEREREUtq1yzw3CuCdd6BoUWvjEfEwKqREREREJKXnn4f4eLj/fujd2+poRDyOCikRERERSenTT+HRR+GDD9RgQiQVuiCviIiIiKQUHg5ffGF1FCIeSyNSIiIiImKy2+HXX62OQiRbUCElIiIiIqYPP4QWLWDQIKsjEfF4KqREREREBI4ehRdeMJdr1LA2FpFsQIWUiIiISG5nGDB4MFy5Ak2awLBhVkck4vFUSImIiIjkdp99BsuWgZ8ffPIJeOkjosit6LdEREREJDc7dQqee85cnjABKle2Nh6RbEKFlIiIiEhuNmQIREZC/fowcqTV0YhkGyqkRERERHKzAQOgbFmYOxfy6BKjIuml3xYRERGR3Oz++6F9exVRIhmkESkRERGR3CgyMnlZRZRIhnl8IXXixAkeffRRChYsSEBAADVr1mTLli3O7YZhMHbsWMLDwwkICKB169bs37/fwohFREREPNwPP5jT+T77zOpIRLItjy6kLl26RJMmTfDx8eHnn39m9+7dvPnmm+TPn9+5z7Rp05g5cyYffPABGzduJCgoiHbt2hEbG2th5CIiIiIeKjISnnrK/HfXLqujEcm2PHocd+rUqZQsWZK5c+c615UtW9a5bBgGM2bM4JVXXqFz584AfP755xQtWpTFixfTq1evLI9ZRERExKM9/7zZ8rxiRbPduYjcFo8upH744QfatWtH9+7d+fXXXylevDhD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y5aF0FBLQxKR7ENd+0RERCR32bcPunSBVq3MIio4GKZNM1uad+pkdXQikk1oREpERERyl7594fffwdsbnnoKxo2DwoWtjkpEshmNSImIiEjOFh8PsbHJt6dOhY4d4c8/4d13VUSJyG1RISUiIiI5k2HA999D9epm8eTQrBn8+CNUrWpdbCKS7amQEhERkZxn61Zo0QIeeggOHDA78yUkWB2ViOQgKqREREQk5zh+3DwHqkEDWLMG/P3N1ubbt4OPj9XRiUgOomYTIiIikjN8+y08/jhcu2be7tMHJk+GUqWsjUtEciQVUiIiIpIz1K8PSUlw773w1ltw111WRyQiOZgKKREREcmeVq40p++NH2/eLlvWPDeqenWw2SwNTURyPhVSIiIikr3s3QujRsF//2ve7tgR7r7bXK5Rw7q4RCRXyVbNJl5//XVsNhvDhw93rouNjWXo0KEULFiQvHnz0q1bN86cOWNdkCIiIuIeFy7AM8+YxdJ//2teUHfYMChXzurIRCQXyjaF1ObNm/nwww+pVauWy/rnnnuO//73v3zzzTf8+uuvnDx5koceesiiKEVERCTTxceb5zxVqACzZkFiIjzwAPz1l3m7UCGrIxSRXChbFFJXrlyhT58+fPTRR+TPn9+5Pioqik8++YS33nqLVq1aUb9+febOncv69ev5/fffLYxYREREMk1cHEybBpGRULs2LF8OP/wAVapYHZmI5GLZ4hypoUOH0qlTJ1q3bs2kSZOc67du3UpCQgKtW7d2rqtSpQqlSpViw4YN3HPPPakeLy4ujri4OOft6OhoABISEkiw+GJ9jse3Oo6cSvl1L+XXvZRf91J+3SvD+f3zT7NphJcX+Ptjmz4drl3DeOwxc0qfXicXev+6l/LrXp6W3/TG4fGF1FdffcW2bdvYvHlzim2nT5/G19eX0NBQl/VFixbl9OnTaR5zypQpTJgwIcX6X375hcDAwDuOOTNERERYHUKOpvy6l/LrXsqveym/7nWr/PqfO0e1L7+k5K+/smXECE40a2ZuyJfP/Fm2LAuizL70/nUv5de9PCW/MTEx6drPowupY8eO8eyzzxIREYG/v3+mHXf06NGMGDHCeTs6OpqSJUvStm1bgoODM+1xbkdCQgIRERG0adMGH12BPdMpv+6l/LqX8uteyq973TK/V67g9cYbeL39NrbYWADq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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def euler_method(f, t0, y0, t_final, h):\n", " \"\"\"\n", " Solves the ODE y' = f(t,y) using Euler's method.\n", " \n", " Parameters:\n", " f (callable): The function f(t, y) defining the ODE y' = f(t, y).\n", " t0 (float): Initial time.\n", " y0 (float): Initial value.\n", " t_final (float): Final time.\n", " h (float): Time step size.\n", "\n", " Returns:\n", " t_vals (numpy.ndarray): Time values.\n", " num_vals (numpy.ndarray): Approximated solution values at each time step.\n", " \"\"\"\n", " N = int((t_final - t0) / h) + 1\n", " t_vals = np.linspace(t0, t_final, N)\n", " num_vals = np.zeros(N)\n", " \n", " y = y0\n", " for j in range(N):\n", " y += h * f(t_vals[j], y)\n", " num_vals[j] = y\n", " t_vals[j] += h\n", "\n", " return t_vals, num_vals\n", "\n", "# Parameters\n", "t0 = 0\n", "t_final = 4\n", "y0 = 1\n", "h = (t_final - t0) / 4\n", "\n", "# Define the ODE y' = y\n", "f = lambda t, y: y\n", "\n", "# Solve the ODE using Euler's method\n", "t_vals, num_vals = euler_method(f, t0, y0, t_final, h)\n", "\n", "# Exact solution\n", "def exact_solution(t):\n", " \"\"\"\n", " Computes the exact solution y(t) = exp(t).\n", " \n", " Parameters:\n", " t (numpy.ndarray): Time values.\n", "\n", " Returns:\n", " numpy.ndarray: Exact solution values.\n", " \"\"\"\n", " return np.exp(t)\n", "\n", "exact_vals = exact_solution(t_vals)\n", "\n", "# Plot the solution\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(t_vals, num_vals, label=\"Numerical solution\", marker=\".\", color=\"blue\")\n", "plt.plot(t_vals, exact_vals, label=\"Exact solution\", linestyle=\"--\", color=\"red\")\n", "plt.xlabel(\"t\")\n", "plt.ylabel(\"y(t)\")\n", "plt.title(\"Comparison between numerical results and exact solution\")\n", "plt.legend()\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subpart 2 - Refining step size and convergence tests ####\n", "We now implement a refining of step size inside a loop, and compute the error\n", "$$\\max_n\\vert y_n - \\exp(t_n)\\vert,$$\n", "(we mostly refer to this as the $L^\\infty$ error)." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Refinement 1: h = 1.00000, Max error = 3.85982e+01\n", "Refinement 2: h = 0.50000, Max error = 2.89692e+01\n", "Refinement 3: h = 0.25000, Max error = 1.90710e+01\n", "Refinement 4: h = 0.12500, Max error = 1.12590e+01\n", "Refinement 5: h = 0.06250, Max error = 6.17511e+00\n", "Refinement 6: h = 0.03125, Max error = 3.24264e+00\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1kAAAIoCAYAAACbCCHjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBfElEQVR4nO3dd3hUZfrG8XsmvVMDpENQCEVQlCLSpCWggIiIZSku6mpsi4pioamLfWE1yvqzoKvriqi4Sy8KIggoCIL0EkroNQVImTm/P46ZYUiABCaZTPL9XBcXmfeczDyZTMqd9z3PazEMwxAAAAAAwC2sni4AAAAAACoTQhYAAAAAuBEhCwAAAADciJAFAAAAAG5EyAIAAAAANyJkAQAAAIAbEbIAAAAAwI0IWQAAAADgRoQsAAAAAHAjQhYAr2SxWDR27FhPl1GpdO7cWZ07dy6z+09ISNDQoUPL7P5RcY0dO1YWi8Ujj92rVy/de++9jtuLFi2SxWLRokWLyr2W9PR0WSwWTZkypdwfu7wNHTpUCQkJl/S+bdu21ciRI91bEFDOCFmAl9q+fbvuv/9+NWjQQIGBgQoPD1f79u01adIknT592tPlAVXKsmXLNHbsWJ04caLcH/udd96pEr+0X4qlS5dq3rx5euqppzxdCkrhqaeeUlpamg4cOODpUoBLRsgCvNDMmTPVvHlzTZ06VTfffLPeeustTZgwQXFxcXryySf16KOPerrEMnf69Gk999xzni6jUpk3b57mzZvn6TK80rJlyzRu3DhC1nk899xzHvnjz2uvvaauXbuqYcOG5f7YuHR9+/ZVeHi43nnnHU+XAlwyX08XAKB0du7cqUGDBik+Pl7fffed6tWr5ziWmpqqbdu2aebMmR6ssOzY7Xbl5eUpMDBQgYGBni6n0jh16pSCg4Pl7+/v6VIui2EYOnPmjIKCgoocO3PmjPz9/WW1XvrfFnNychQSEnI5JVZZvr6+8vUt3185Dh06pJkzZ2ry5Mnl+ri4fFarVQMGDNAnn3yicePGeWypKXA5mMkCvMyrr76q7OxsffDBBy4Bq1DDhg1dZrIKCgr0wgsvKDExUQEBAUpISNAzzzyj3Nxcl/dLSEjQTTfdpEWLFunaa69VUFCQmjdv7rhu4euvv1bz5s0VGBioVq1a6ddff3V5/6FDhyo0NFQ7duxQz549FRISoqioKI0fP16GYbic+/rrr+v6669XzZo1FRQUpFatWmnatGlFPhaLxaKHHnpIn332mZo2baqAgADNmTPHcezsa7IKr/nYtm2bhg4dqmrVqikiIkLDhg3TqVOnXO739OnTeuSRR1SrVi2FhYWpT58+ysjIKNF1XoXXc0ydOlUvvfSSYmJiFBgYqK5du2rbtm1FntPirkE699qns+9z3Lhxio6OVlhYmAYMGKCTJ08qNzdXjz32mCIjIxUaGqphw4YV+fxJ0qeffqpWrVopKChINWrU0KBBg7Rnz54ij92sWTOtWrVKHTt2VHBwsJ555pli65LMcDJ27FhdeeWVCgwMVL169dS/f39t377dcU5JP58lZbfbNXHiRDVt2lSBgYGqU6eO7r//fh0/ftzlvMLX7Ny5cx2v2X/+85+O5/M///mPnnvuOUVHRys4OFiZmZmSpC+//NLxPNWqVUt33323MjIyXO678PW8fft29erVS2FhYbrrrruKrXfs2LF68sknJUn169eXxWKRxWJRenq6pJJ/DRbnwIEDGjZsmGJiYhQQEKB69eqpb9++jvtOSEjQ77//rsWLFzse9+zP4YkTJ/TYY48pNjZWAQEBatiwoV555RXZ7XbHOYXXCb3++uv6+9//rvj4eAUFBalTp05av379RWvMz8/XuHHjdMUVVygwMFA1a9bUDTfcoPnz57s8R2f/ojx06FBHvef+O/trMDc3V2PGjFHDhg0VEBCg2NhYjRw5skTP3cyZM1VQUKBu3bpd9FypZK+LwvOaNGmiwMBANWvWTN98881lXX8kSd999506dOigkJAQVatWTX379tXGjRuLnFf4/TkwMFCJiYn65z//WeLr3bZu3apbb71VdevWVWBgoGJiYjRo0CCdPHnS5bxPP/1UrVu3VnBwsKpXr66OHTu6zHB/++236t27t6KiohQQEKDExES98MILstlsF62hpF/bktS9e3ft2rVLa9asuej9AhURM1mAl/nf//6nBg0a6Prrry/R+cOHD9fHH3+sAQMG6PHHH9eKFSs0YcIEbdy4Ud98843Ludu2bdOdd96p+++/X3fffbdef/113XzzzZo8ebKeeeYZPfjgg5KkCRMmaODAgdq8ebPLzIDNZlNycrLatm2rV199VXPmzNGYMWNUUFCg8ePHO86bNGmS+vTpo7vuukt5eXn6z3/+o9tuu00zZsxQ7969XWr67rvvNHXqVD300EOqVavWRX+RGThwoOrXr68JEyZo9erVev/99xUZGalXXnnFcc7QoUM1depU/elPf1Lbtm21ePHiIo97MS+//LKsVqueeOIJnTx5Uq+++qruuusurVixolT3c7YJEyYoKChITz/9tLZt26a33npLfn5+slqtOn78uMaOHavly5drypQpql+/vkaPHu1435deeknPP/+8Bg4cqOHDh+vw4cN666231LFjR/3666+qVq2a49yjR48qJSVFgwYN0t133606deoUW4/NZtNNN92khQsXatCgQXr00UeVlZWl+fPna/369UpMTJRUus9nSdx///2aMmWKhg0bpkceeUQ7d+7U22+/rV9//VVLly6Vn5+f49zNmzfrjjvu0P333697771XjRo1chx74YUX5O/vryeeeEK5ubny9/d33O91112nCRMm6ODBg5o0aZKWLl1a5HkqKChQz549dcMNN+j1119XcHBwsfX2799fW7Zs0eeff66///3vqlWrliSpdu3akkr3NXiuW2+9Vb///rsefvhhJSQk6NChQ5o/f752796thIQETZw4UQ8//LBCQ0P17LPPSpLj83nq1Cl16tRJGRkZuv/++xUXF6dly5Zp1KhR2r9/vyZOnOjyWJ988omysrKUmpqqM2fOaNKkSbrxxhu1bt26875GJDNATZgwQcOHD1fr1q2VmZmpX375RatXr1b37t2LfZ/777+/SPiZM2eOPvvsM0VGRkoyfyHv06ePfvzxR913331KSkrSunXr9Pe//11btmzR9OnTL/jcLVu2TDVr1lR8fPwFz5NU4tfFzJkzdfvtt6t58+aaMGGCjh8/rj//+c+Kjo6+6GOcz4IFC5SSkqIGDRpo7NixOn36tN566y21b99eq1evdnzP+/XXX5WcnKx69epp3LhxstlsGj9+vON1diF5eXnq2bOncnNz9fDDD6tu3brKyMjQjBkzdOLECUVEREiSxo0bp7Fjx+r666/X+PHj5e/vrxUrVui7775Tjx49HM9VaGioRowYodDQUH333XcaPXq0MjMz9dprr12wjtJ8bbdq1UqSeV3d1VdffSlPLeBZBgCvcfLkSUOS0bdv3xKdv2bNGkOSMXz4cJfxJ554wpBkfPfdd46x+Ph4Q5KxbNkyx9jcuXMNSUZQUJCxa9cux/g///lPQ5Lx/fffO8aGDBliSDIefvhhx5jdbjd69+5t+Pv7G4cPH3aMnzp1yqWevLw8o1mzZsaNN97oMi7JsFqtxu+//17kY5NkjBkzxnF7zJgxhiTjnnvucTnvlltuMWrWrOm4vWrVKkOS8dhjj7mcN3To0CL3WZzvv//ekGQkJSUZubm5jvFJkyYZkox169Y5xuLj440hQ4YUuY9OnToZnTp1KnKfzZo1M/Ly8hzjd9xxh2GxWIyUlBSX92/Xrp0RHx/vuJ2enm74+PgYL730kst569atM3x9fV3GO3XqZEgyJk+efNG6PvzwQ0OS8eabbxY51263O94u6efzfM/H2ZYsWWJIMj777DOX8Tlz5hQZL3zNzpkzx+XcwuezQYMGLrXl5eUZkZGRRrNmzYzTp087xmfMmGFIMkaPHu0YK3w9P/300xest9Brr71mSDJ27tzpMl6ar8FzHT9+3JBkvPbaaxd87KZNm7p83gq98MILRkhIiLFlyxaX8aefftrw8fExdu/ebRiGYezcudPxdb53717HeStWrDAkGX/9618v+PgtWrQwevfufcFzCr8+z2fr1q1GRESE0b17d6OgoMAwDMP417/+ZVitVmPJkiUu506ePNmQZCxduvSCj3nDDTcYrVq1KjJe+Poo/P5VmtdF8+bNjZiYGCMrK8sxtmjRIkOSy9fk+RQ+1x999JFjrGXLlkZkZKRx9OhRx9jatWsNq9VqDB482DF28803G8HBwUZGRoZjbOvWrYavr+8Fn1vDMIxff/3VkGR8+eWX5z1n69athtVqNW655RbDZrO5HLvQ17thGMb9999vBAcHG2fOnHGMDRkyxOU5Kc3XdiF/f3/jgQceuODHBlRULBcEvEjhcqewsLASnT9r1ixJ0ogRI1zGH3/8cUkqcu1WkyZN1K5dO8ftNm3aSJJuvPFGxcXFFRnfsWNHkcd86KGHHG8XLvfLy8vTggULHONnXzNz/PhxnTx5Uh06dNDq1auL3F+nTp3UpEmTi3ykTn/5y19cbnfo0EFHjx51PHeFyw0LZ+UKPfzwwyV+DEkaNmyYyzVMHTp0kFT8c1JSgwcPdvlLbps2bWQYhu655x6X89q0aaM9e/aooKBAkrmU0263a+DAgTpy5IjjX926dXXFFVfo+++/d3n/gIAADRs27KL1fPXVV6pVq1axz83Zy5NK8/m8mC+//FIRERHq3r27y8fSqlUrhYaGFvlY6tevr549exZ7X0OGDHGp7ZdfftGhQ4f04IMPulzT17t3bzVu3LjYaxkfeOCBUn8MZyvt1+DZgoKC5O/vr0WLFhW7nOpivvzyS3Xo0EHVq1d3eS67desmm82mH374weX8fv36uczItG7dWm3atHF8DOdTrVo1/f7779q6dWupa5TMa91uueUWVa9eXZ9//rl8fHwc9SclJalx48Yu9d94442SVOS1cK6jR4+qevXqF338kr4u9u3bp3Xr1mnw4MEKDQ11nNepUyc1b9681B+3JO3fv19r1qzR0KFDVaNGDcf4VVddpe7duzuee5vNpgULFqhfv36KiopynNewYUOlpKRc9HEKZ6rmzp1bZPl0oenTp8tut2v06NFFrl0839d7VlaWjhw5og4dOujUqVPatGnTeWso7de2JMdrF/BGLBcEvEh4eLgk8wdbSezatUtWq7VIZ626deuqWrVq2rVrl8v42UFKcv5gjo2NLXb83F/8rFarGjRo4DJ25ZVXSpLjGhJJmjFjhl588UWtWbPG5dqK4q4rqF+//nk/vuKc+zEU/pJ1/PhxhYeHO56Tc++3tN3HLvQ4l6o0z7/dbtfJkydVs2ZNbd26VYZh6Iorrij2fs8ObpIUHR1doiYX27dvV6NGjS7asKA0n8+L2bp1q06ePOlYMnauQ4cOudy+0Ovj3GOFr/ezlxQWaty4sX788UeXMV9fX8XExJSo7vMp7dfg2QICAvTKK6/o8ccfV506ddS2bVvddNNNGjx4sOrWrXvRx966dat+++238y4nO/e5LO71c+WVV2rq1KkXfJzx48erb9++uvLKK9WsWTMlJyfrT3/6k6666qqL1ihJ9957r7Zv3+5Y3nd2/Rs3bixx/cUxzrketDglfV0Unlfc94qGDRu6/FHh8OHDLtcohYaGugSzkjx2UlKS5s6dq5ycHGVmZur06dPnfeyLqV+/vkaMGKE333xTn332mTp06KA+ffro7rvvdnyf2b59u6xW60X/qPX777/rueee03fffef441Whc6/vOltpv7Yl8/NH0wt4K0IW4EXCw8MVFRVVoovRz1bSH1KFf0Eu6XhJfoE515IlS9SnTx917NhR77zzjurVqyc/Pz999NFH+ve//13k/OI6xV2IO2u93Mc53/Nus9mKff9Lff7tdrssFotmz55d7Lnn/nJX2uf0Qkr7+bwYu92uyMhIffbZZ8UeP/cX7gt9LJf7cQYEBFxWN8KzXeovio899phuvvlmTZ8+XXPnztXzzz+vCRMm6LvvvrvodSp2u13du3c/76auhX8AuVwdO3bU9u3b9e2332revHl6//339fe//12TJ0/W8OHDL/i+kyZN0ueff65PP/1ULVu2LFJ/8+bN9eabbxb7vuf+8eFcNWvWvKw/elyO6667ziVAjxkzxuObp7/xxhsaOnSo4/P0yCOPaMKECVq+fHmJ/5hw4sQJderUSeHh4Ro/frwSExMVGBio1atX66mnnnJpqHKu0n5tFz5e4TWOgLchZAFe5qabbtJ7772nn376yWVpX3Hi4+Nlt9u1detWJSUlOcYPHjyoEydOlOiC8NKw2+3asWOHyy9vW7ZskSTHxdtfffWVAgMDNXfuXAUEBDjO++ijj9xay/kUPic7d+50+cv9uZ0B3aF69erF7pu0a9euIjN+lyMxMVGGYah+/fpu+8W58H5XrFih/Pz8IrNhhdz9+UxMTNSCBQvUvn17t4ZBSY7X++bNmx1Lzgpt3rz5sr4ezhei3PE1mJiYqMcff1yPP/64tm7dqpYtW+qNN97Qp59+esHHTkxMVHZ2dom76xW33G/Lli0l6ppXo0YNDRs2TMOGDVN2drY6duyosWPHXjBkLVmyRE888YQee+yxYjs3JiYmau3aterateslhdTGjRvrq6++uuh5JX1dFP5f3PeKc8c+++wzl33Bzvf1fvZjn2vTpk2qVauWQkJCHNtWlOSxL6R58+Zq3ry5nnvuOS1btkzt27fX5MmT9eKLLyoxMVF2u10bNmwoEngLLVq0SEePHtXXX3+tjh07OsZ37tx50ccu7dd2RkaG8vLyXL5uAG/CNVmAlxk5cqRCQkI0fPhwHTx4sMjx7du3a9KkSZKkXr16SVKRLmKFfxm+lM5vF/P222873jYMQ2+//bb8/PzUtWtXSeasjMVicVlKk56eftFOYe5SeP3OuZtcvvXWW25/rMTERC1fvlx5eXmOsRkzZhRpq365+vfvLx8fH40bN67IjJ1hGDp69Ogl3e+tt96qI0eOuHxOz75fyf2fz4EDB8pms+mFF14ocqygoOCyNvu99tprFRkZqcmTJ7ssa5w9e7Y2btx4WV8PhftnnVvf5XwNnjp1SmfOnHEZS0xMVFhYmEv9ISEhxT4vAwcO1E8//aS5c+cWOXbixAnHNX2Fpk+f7tKyfOXKlVqxYsVFr/k59/UVGhqqhg0bXrDN+v79+zVw4EDdcMMN5+1IN3DgQGVkZOj//u//ihw7ffq0cnJyLlhXu3btdPz48YteJ1nS10VUVJSaNWumTz75RNnZ2Y7zFi9erHXr1rncZ/v27dWtWzfHv/OFrHr16qlly5b6+OOPXT6H69ev17x58xyvHx8fH3Xr1k3Tp0/Xvn37HOdt27ZNs2fPvuDHJ5nX8577+W7evLmsVqvjY+7Xr5+sVqvGjx9fZEbq7K/3s29LZufCkmwaXNqv7VWrVklSiTvpAhUNM1mAl0lMTNS///1v3X777UpKStLgwYPVrFkz5eXladmyZfryyy8dezO1aNFCQ4YM0XvvvedY5rFy5Up9/PHH6tevn7p06eLW2gIDAzVnzhwNGTJEbdq00ezZszVz5kw988wzjqUgvXv31ptvvqnk5GTdeeedOnTokNLS0tSwYUP99ttvbq2nOK1atdKtt96qiRMn6ujRo44W7oUzbu5c/z98+HBNmzZNycnJGjhwoLZv365PP/3U0frcXRITE/Xiiy9q1KhRSk9PV79+/RQWFqadO3fqm2++0X333acnnnii1Pc7ePBgffLJJxoxYoRWrlypDh06KCcnRwsWLNCDDz6ovn37uv3z2alTJ91///2aMGGC1qxZox49esjPz09bt27Vl19+qUmTJmnAgAGlvl/JvDbtlVde0bBhw9SpUyfdcccdjlbdCQkJ+utf/3pJ9ys5200/++yzGjRokPz8/HTzzTdf1tfgli1b1LVrVw0cOFBNmjSRr6+vvvnmGx08eFCDBg1yeex3331XL774oho2bKjIyEjdeOONevLJJ/Xf//5XN910k4YOHapWrVopJydH69at07Rp05Senu6yFKthw4a64YYb9MADDyg3N1cTJ05UzZo1z7vcsFCTJk3UuXNntWrVSjVq1NAvv/yiadOmuTTBOdcjjzyiw4cPa+TIkfrPf/7jcuyqq67SVVddpT/96U+aOnWq/vKXv+j7779X+/btZbPZtGnTJk2dOtWxP9r59O7dW76+vlqwYIHuu+++855XmtfF3/72N/Xt21ft27fXsGHDdPz4cb399ttq1qyZS/Aqjddee00pKSlq166d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zTUXbTCxdu1ajR8/3jEbFhoaqnvvvVf79+/XqVOnHOe1a9fO5f3atWt33pmsFi1aqGvXrmrevLluu+02/d///Z+OHz9+0Y/hnnvuUVZWlv7973/LarU66psyZYpLfT179pTdbtfOnTvPe18JCQmOgCVJ9erV06FDhy5aAwDAM2h8AQCokAIDA9W9e3d1795dzz//vIYPH64xY8Zo6NCh532f7OxsjRs3Tv379y/2/i6Fj4+P5s+fr2XLlmnevHl666239Oyzz2rFihWqX79+se/z4osvau7cuVq5cqVLOMrOztb999+vRx55pMj7xMXFnbcGPz8/l9sWi0V2u/2SPh4AQNljJgsA4BWaNGni0iDCz89PNpvN5ZxrrrlGmzdvVsOGDYv8K5xNklRkmd3y5cuVlJR03se2WCxq3769xo0bp19//VX+/v765ptvij33q6++0vjx4zV16lQlJiYWqW/Dhg3F1ufv71/i5wIAULExkwUAqFCOHj2q2267Tffcc4+uuuoqhYWF6ZdfftGrr76qvn37Os5LSEjQwoUL1b59ewUEBKh69eoaPXq0brrpJsXFxWnAgAGyWq1au3at1q9frxdffNHxvl9++aWuvfZa3XDDDfrss8+0cuVKffDBB8XWs2LFCi1cuFA9evRQZGSkVqxYocOHDxcbytavX6/BgwfrqaeeUtOmTXXgwAFJkr+/v2rUqKGnnnpKbdu21UMPPaThw4crJCREGzZs0Pz58/X222+7+ZkEAHgKM1kAgAolNDRUbdq00d///nd17NhRzZo10/PPP697773XJYi88cYbmj9/vmJjY3X11VdLknr27KkZM2Zo3rx5uu6669S2bVv9/e9/L9KwYty4cfrPf/6jq666Sp988ok+//xzNWnSpNh6wsPD9cMPP6hXr1668sor9dxzz+mNN95QSkpKkXN/+eUXnTp1Si+++KLq1avn+Fe4fPGqq67S4sWLtWXLFnXo0EFXX321Ro8eraioKHc9fQCACoDuggCAKqW4roQAALgTM1kAAAAA4EaELAAAAABwIxpfAACqFFbJAwDKGjNZAAAAAOBGhCwAAAAAcCNCFgAAAAC4ESELAAAAANyIkAUAAAAAbkTIAgAAAAA3ImQBAAAAgBsRsgAAAADAjQhZAAAAAOBG/w/Sih8SwrqwGQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def euler_method(f, t0, y0, t_final, h):\n", " N = int((t_final - t0) / h) + 1\n", " t_vals = np.linspace(t0, t_final, N)\n", " num_vals = np.zeros(N)\n", " \n", " y = y0\n", " for j in range(N):\n", " num_vals[j] = y\n", " y += h * f(t_vals[j], y)\n", "\n", " return t_vals, num_vals\n", "\n", "# Parameters\n", "t0 = 0\n", "t_final = 4\n", "y0 = 1\n", "h = (t_final - t0) / 4\n", "\n", "# Define the ODE y' = y\n", "f = lambda t, y: y\n", "\n", "# Exact solution\n", "def exact_solution(t):\n", " return np.exp(t)\n", "\n", "# Refinement and error analysis\n", "num_refinements = 6\n", "errors = []\n", "h_values = []\n", "\n", "for i in range(num_refinements):\n", " h_current = h / (2 ** i)\n", " t_vals, num_vals = euler_method(f, t0, y0, t_final, h_current)\n", " exact_vals = exact_solution(t_vals)\n", " \n", " max_error = np.max(np.abs(num_vals - exact_vals))\n", " errors.append(max_error)\n", " h_values.append(h_current)\n", "\n", "# Plot error vs step size in log-log scale\n", "plt.figure(figsize=(10, 6))\n", "plt.loglog(h_values, errors, marker=\"o\", label=\"Numerical error\", color = \"purple\")\n", "slope_1_x = np.array(h_values)\n", "slope_1_y = slope_1_x\n", "plt.loglog(slope_1_x, slope_1_y, linestyle=\"--\", label=\"Order 1\", color=\"blue\")\n", "plt.xlabel(\"Step size h\")\n", "plt.ylabel(\"Max error\")\n", "plt.title(\"Comparing numerical error to step size (log-log scale)\")\n", "plt.grid()\n", "plt.legend();\n", "\n", "for i, (h_val, error) in enumerate(zip(h_values, errors)):\n", " print(f\"Refinement {i + 1}: h = {h_val:.5f}, Max error = {error:.5e}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can clearly observe that the numerical error line runs parallel to the slope 1 line, indicating that the method is indeed of order 1. To prove it theoretically, we need to show that the local truncation error is $\\mathcal{O}(h^2)$. This has been done in Exercise 4 from TD1, so the reader can directly refer to this." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Subpart 3 - Changing the equation ####\n", "We now change our implementation by considering now the function $f(t,y)=y^2$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0kAAAIjCAYAAADWYVDIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACBFUlEQVR4nO3dd3gU1f7H8c8mpFcgCUkgUkKRKgiKinQUQVQUQcWroCio3KtYUEGQXkREsIBiAa8NC7YfooAoooCICohSpCud0EJN2/P7Y+5udskGEkgyKe/X8+zD7Ozs7HcnJ2E/e86ccRhjjAAAAAAAkiQ/uwsAAAAAgOKEkAQAAAAAHghJAAAAAOCBkAQAAAAAHghJAAAAAOCBkAQAAAAAHghJAAAAAOCBkAQAAAAAHghJAAAAAOCBkAQgXxwOh4YPH253GT5Vq1ZNXbp0sbsMFAOLFi2Sw+HQokWLCmX/M2fOlMPh0LZt2wpl/4Vl+PDhcjgcdpdRYKpVq6bevXvbXUaJVFi/I71791a1atUKdJ+AHQhJQD5t3rxZ/fr1U40aNRQcHKzIyEi1aNFCU6ZM0cmTJ+0uDwXoxIkTGj58eKF90AaKg7Fjx+qzzz6zu4wyqyQe/127dmn48OFatWqV3aUAhaac3QUAJcmXX36p7t27KygoSHfeeacaNGig9PR0/fjjjxo4cKD+/PNPTZ8+3e4yC9XJkydVrlzZ+NNx4sQJjRgxQpLUpk0be4tBvrRq1UonT55UYGCg3aUUe2PHjtXNN9+srl272l1KmVQSj/+uXbs0YsQIVatWTY0bN/Z67LXXXpPT6bSnMKAAlY1POkAB2Lp1q2699VZVrVpV3377rRISEtyP9e/fX5s2bdKXX35pY4WFx+l0Kj09XcHBwQoODra7HCBXp06dUmBgoPz8/IptWz1+/LjCwsLsLgMoFAEBAXaXABQIhtsBeTRhwgQdO3ZMb7zxhldAcqlZs6Yeeugh9/3MzEyNGjVKycnJCgoKUrVq1TR48GClpaV5Pc91Hs2iRYvUrFkzhYSEqGHDhu4hXp988okaNmyo4OBgNW3aVCtXrvR6fu/evRUeHq4tW7aoY8eOCgsLU2JiokaOHCljjNe2EydO1BVXXKGKFSsqJCRETZs21ccff5zjvTgcDv373//Wu+++q/r16ysoKEhff/21+zHPc5KOHj2qAQMGqFq1agoKClJcXJyuuuoq/fbbb177/Oijj9S0aVOFhIQoJiZG//rXv7Rz506f72Xnzp3q2rWrwsPDFRsbq8cee0xZWVm5/GRymj9/vho3bqzg4GDVq1dPn3zySY5tDh8+rAEDBigpKUlBQUGqWbOmnnnmGfc3oNu2bVNsbKwkacSIEXI4HO73/sUXX8jhcOj3339372/27NlyOBy66aabvF6nbt26uuWWW7zWvfPOO+5jUaFCBd166636559/ctS4fPlyXXPNNYqKilJoaKhat26tJUuWeG3jOsdk06ZN6t27t6KjoxUVFaW77rpLJ06cOOuxatOmjRo0aKC1a9eqbdu2Cg0NVeXKlTVhwgSv7XI7B8fXeQ2uff7+++9q3bq1QkNDVbNmTXdb+/7779W8eXOFhISoTp06+uabb3LUtXPnTt19992qVKmSgoKCVL9+fb355ps+X3vWrFkaMmSIKleurNDQUKWmpuZ6vsXy5cvVuXNnlS9fXmFhYWrUqJGmTJnifvz3339X79693cNp4+Pjdffdd+vAgQNnPZa+uNr05s2b1blzZ0VEROj222+XZH35MHnyZNWvX1/BwcGqVKmS+vXrp0OHDnnt45dfflHHjh0VExOjkJAQVa9eXXffffcZfwaS1YYdDodmzpyZa30Oh0PHjx/XW2+95W7jrnN88vq7fbrt27frgQceUJ06dRQSEqKKFSuqe/fuOdqOq00tWbJEjzzyiGJjYxUWFqYbb7xR+/fv99rWGKPRo0erSpUqCg0NVdu2bfXnn3+esQ5PeTnWw4YNk5+fnxYuXOj13L59+yowMFCrV6+WJKWnp+vpp59W06ZNFRUVpbCwMLVs2VLfffedz9edMmWK+294bGysrrnmGv3yyy+Sznz8c/Piiy+qfv36Cg0NVfny5dWsWTO99957XtusXLlSnTp1UmRkpMLDw9W+fXv99NNPZz1OuZ3j1aZNG3dv+qJFi3TJJZdIku666y533a525uucpOPHj+vRRx91/72tU6eOJk6cmOP/KNf/PZ999pkaNGjg/t13/f8DFCkDIE8qV65satSokefte/XqZSSZm2++2bz88svmzjvvNJJM165dvbarWrWqqVOnjklISDDDhw83zz//vKlcubIJDw8377zzjrngggvM+PHjzfjx401UVJSpWbOmycrK8nqd4OBgU6tWLXPHHXeYl156yXTp0sVIMkOHDvV6rSpVqpgHHnjAvPTSS2bSpEnm0ksvNZLMnDlzvLaTZOrWrWtiY2PNiBEjzMsvv2xWrlzpfmzYsGHubXv27GkCAwPNI488Yl5//XXzzDPPmOuuu86888477m1mzJhhJJlLLrnEPP/88+bJJ580ISEhplq1aubQoUM53kv9+vXN3XffbaZNm2a6detmJJmpU6ee9ZhXrVrV1K5d20RHR5snn3zSTJo0yTRs2ND4+fmZ+fPnu7c7fvy4adSokalYsaIZPHiweeWVV8ydd95pHA6Heeihh4wxxhw7dsxMmzbNSDI33nijefvtt83bb79tVq9ebQ4cOGAcDod58cUX3ft86KGHjJ+fn4mNjXWv27dvn5FkXnrpJfe60aNHG4fDYW655RYzdepUM2LECBMTE5PjWCxcuNAEBgaayy+/3Dz33HPm+eefN40aNTKBgYFm+fLl7u2GDRtmJJkmTZqYm266yUydOtXcc889RpJ5/PHHz3rMWrdubRITE01SUpJ56KGHzNSpU027du2MJDN37twcP8OtW7d6Pf+7774zksx3333nc58DBw40L774oqlXr57x9/c3s2bNMvHx8Wb48OFm8uTJpnLlyiYqKsqkpqa6n79nzx5TpUoVk5SUZEaOHGmmTZtmrr/+eiPJPP/88zleu169eqZx48Zm0qRJZty4ceb48eM+65o/f74JDAw0VatWNcOGDTPTpk0zDz74oOnQoYN7m4kTJ5qWLVuakSNHmunTp5uHHnrIhISEmEsvvdQ4nc6zHo/T9erVywQFBZnk5GTTq1cv88orr5j//ve/xhhj7rnnHlOuXDlz7733mldeecU88cQTJiwszFxyySUmPT3dGGPM3r17Tfny5U3t2rXNs88+a1577TXz1FNPmbp1657xZ2CMMVu3bjWSzIwZM9zrXO3F5e233zZBQUGmZcuW7ja+dOlSY0zefrd9+eijj8xFF11knn76aTN9+nQzePBgU758eVO1alVz/PjxHMewSZMmpl27dubFF180jz76qPH39zc9evTw2ueQIUOMJNO5c2fz0ksvmbvvvtskJiaamJgY06tXrzPWk9djnZ6ebpo0aWKqVq3qbo9ff/21kWRGjRrl3tf+/ftNQkKCeeSRR8y0adPMhAkTTJ06dUxAQID776RL7969jSTTqVMnM3nyZDNx4kRzww03uP92nOn4+zJ9+nT3/yuvvvqqmTJliunTp4958MEH3dv88ccfJiwszCQkJJhRo0aZ8ePHm+rVq5ugoCDz008/ubfz1W6qVq3q83i2bt3atG7d2hhj/X6OHDnSSDJ9+/Z1171582ZjjNXmq1at6n6u0+k07dq1Mw6Hw9xzzz3mpZdeMtddd52RZAYMGOD1OpLMRRdd5K598uTJpkaNGiY0NNSkpKTkelyAwkBIAvLgyJEjRpK54YYb8rT9qlWrjCRzzz33eK1/7LHHjCTz7bffutdVrVrVSPL6j3HevHlGkgkJCTHbt293r3/11Vdz/KfmCmP/+c9/3OucTqe59tprTWBgoNm/f797/YkTJ7zqSU9PNw0aNDDt2rXzWi/J+Pn5mT///DPHezs9JEVFRZn+/fvneizS09NNXFycadCggTl58qR7/Zw5c4wk8/TTT+d4LyNHjvTaR5MmTUzTpk1zfQ0X17GcPXu2e92RI0dMQkKCadKkiXvdqFGjTFhYmPnrr7+8nv/kk08af39/8/fffxtjrA9Dp79fl/r163t9kLv44otN9+7djSSzbt06Y4wxn3zyiZFkVq9ebYwxZtu2bcbf39+MGTPGa19r1qwx5cqVc693Op2mVq1apmPHjl4fzE+cOGGqV69urrrqKvc614feu+++22ufN954o6lYseJZj1nr1q2NJPcHd2OMSUtLM/Hx8aZbt27udfkNSZLMe++95163fv16d7vy/KDmauueH+T79OljEhIScnwouvXWW01UVJS7Hbteu0aNGjna9ul1ZWZmmurVq5uqVat6hVFjTI5jfLr333/fSDKLFy8+6/E4natNP/nkk17rf/jhByPJvPvuu17rXR/KXes//fRTI8msWLEi19c4n5BkjDFhYWE+Pxif7Xc7N76O4bJly3K0M9cx7NChg9fP4OGHHzb+/v7m8OHDxhjry4bAwEBz7bXXem03ePBgI+msISmvx9oY63cxMDDQ3HPPPebQoUOmcuXKplmzZiYjI8O9TWZmpklLS/Pa16FDh0ylSpW8fg+//fZbI8krwLh4vo/cjr8vN9xwg6lfv/4Zt+natasJDAx0hxZjjNm1a5eJiIgwrVq1cq8715BkjDErVqzI0bZcTg9Jn332mZFkRo8e7bXdzTffbBwOh9m0aZN7nSQTGBjotW716tVGkteXUkBRYLgdkAepqamSpIiIiDxtP3fuXEnSI4884rX+0UcflaQc5y7Vq1dPl19+uft+8+bNJUnt2rXTBRdckGP9li1bcrzmv//9b/eya8hCenq611CmkJAQ9/KhQ4d05MgRtWzZ0ufwmdatW6tevXpneadSdHS0li9frl27dvl8/JdfftG+ffv0wAMPeJ0jcu211+rCCy/0eR7Xfffd53W/ZcuWPt+zL4mJibrxxhvd9yMjI3XnnXdq5cqV2rNnjyRr6F/Lli1Vvnx5paSkuG8dOnRQVlaWFi9efNbXadmypX744QdJ1rCk1atXq2/fvoqJiXGv/+GHHxQdHa0GDRpIsoZOOp1O9ejRw+t14+PjVatWLfdwnVWrVmnjxo3q2bOnDhw44N7u+PHjat++vRYvXpzjxGhfx+zAgQPutnsm4eHh+te//uW+HxgYqEsvvTTPxzy3fd56663u+3Xq1FF0dLTq1q3rbsdSzjZtjNHs2bN13XXXyRjjdZw6duyoI0eO5GivvXr18mrbvqxcuVJbt27VgAEDFB0d7fWY55TYnvs5deqUUlJSdNlll0nSWYeZncn999/vdf+jjz5SVFSUrrrqKq/32LRpU4WHh7vbgqvWOXPmKCMj45xf/1yc7Xc7N57HMCMjQwcOHFDNmjUVHR3t8xj27dvX62fQsmVLZWVlafv27ZKkb775Runp6frPf/7jtd2AAQPyVE9ej7UkNWjQQCNGjNDrr7+ujh07KiUlRW+99ZbXZDX+/v7uCUGcTqcOHjyozMxMNWvWzOv9uYbgDhs2LEdN5zoNe3R0tHbs2KEVK1b4fDwrK0vz589X165dVaNGDff6hIQE9ezZUz/++GOe/iYUpLlz58rf318PPvig1/pHH31Uxhh99dVXXus7dOig5ORk9/1GjRopMjLyvP4eAeeCkATkQWRkpCTrw3BebN++XX5+fqpZs6bX+vj4eEVHR7v/83fxDEKSFBUVJUlKSkryuf70cxb8/Py8/kOUpNq1a0uS13kAc+bM0WWXXabg4GBVqFBBsbGxmjZtmo4cOZLjPVSvXv1sb1OSda7WH3/8oaSkJF166aUaPny4139mrvdap06dHM+98MILcxwL17h9T+XLl8/xnnNTs2bNHB9ATj8WGzdu1Ndff63Y2FivW4cOHSRJ+/btO+vrtGzZUrt379amTZu0dOlSORwOXX755V7h6YcfflCLFi3k5+fnfl1jjGrVqpXjtdetW+d+3Y0bN0qyPvyfvt3rr7+utLS0HD+z09tQ+fLlJeVsK75UqVIlxzHLzzHP6z6joqLO2qb379+vw4cPa/r06Tne+1133SUp588nL2118+bNkuQOrLk5ePCgHnroIVWqVEkhISGKjY1179/X70lelCtXTlWqVPFat3HjRh05ckRxcXE53uexY8fc77F169bq1q2bRowYoZiYGN1www2aMWNGjnMbC8PZfrdzc/LkST399NPu809iYmIUGxurw4cP+zyGZ2u7rr8RtWrV8touNjbWve2Z5PVYuwwcOFAXXXSRfv75Zw0bNsznl0VvvfWWGjVqpODgYFWsWFGxsbH68ssvvd7f5s2blZiYqAoVKpy1xrx64oknFB4erksvvVS1atVS//79vc5T3L9/v06cOOHz723dunXldDp9nv9YmLZv367ExMQcXzLWrVvX/bin09uDdP5/j4Bzwex2QB5ERkYqMTFRf/zxR76el9dvC/39/fO13px2smte/PDDD7r++uvVqlUrTZ06VQkJCQoICNCMGTNynPQr6azfzLv06NFDLVu21Keffqr58+fr2Wef1TPPPKNPPvlEnTp1ynedub3nguR0OnXVVVfp8ccf9/m4K1SdyZVXXilJWrx4sbZs2aKLL77YfQL3Cy+8oGPHjmnlypUaM2aM1+s6HA599dVXPt9neHi4eztJevbZZ3NMr3v6ti7n01by8tzc2nJuE2qca5t2vfd//etf6tWrl89tGzVq5HU/r201L3r06KGlS5dq4MCBaty4scLDw+V0OnXNNdec87TGQUFB7qDs4nQ6FRcXp3fffdfnc1xfFDgcDn388cf66aef9H//93+aN2+e7r77bj333HP66aefFB4enu+fTV6d6+/2f/7zH82YMUMDBgzQ5ZdfrqioKDkcDt16660+j2FB/p3zJa/H2mXLli3uLyrWrFmTY/t33nlHvXv3VteuXTVw4EDFxcXJ399f48aNc4fxwlK3bl1t2LBBc+bM0ddff63Zs2dr6tSpevrpp92XKzgfZ2pLRfG3WSr89gDkFSEJyKMuXbpo+vTpWrZsmdfQOF+qVq0qp9OpjRs3ur8tk6S9e/fq8OHDqlq1aoHW5nQ6tWXLFq8P93/99ZckuWcZmj17toKDgzVv3jwFBQW5t5sxY8Z5v35CQoIeeOABPfDAA9q3b58uvvhijRkzRp06dXK/1w0bNqhdu3Zez9uwYUOBH4tNmzbJGOP1n/3pxyI5OVnHjh1z9xzl5kwh94ILLtAFF1ygH374QVu2bFHLli0lWdfneeSRR/TRRx8pKytLrVq1cj8nOTlZxhhVr179jEHMNdQkMjLyrDUWFdc39ocPH/Zaf/q3wOcrNjZWERERysrKKtD37jqmf/zxR677PXTokBYuXKgRI0bo6aefdq93fWAuSMnJyfrmm2/UokWLPIW8yy67TJdddpnGjBmj9957T7fffrtmzZqle+6557x/Nmdq52f63c7Nxx9/rF69eum5555zrzt16lSO+vLK9Tdi48aNXj3m+/fvz1PvQn6OtdPpVO/evRUZGakBAwa4r2HkOWvlxx9/rBo1auiTTz7xOnanD6tLTk7WvHnzdPDgwTP2JuV36F1YWJhuueUW3XLLLUpPT9dNN92kMWPGaNCgQYqNjVVoaKg2bNiQ43nr16+Xn59fjt5cT+XLl/f5c9q+fbvXsc9PzVWrVtU333yjo0ePevUmrV+/3v04UBwx3A7Io8cff1xhYWG65557tHfv3hyPb9682T2VcOfOnSVJkydP9tpm0qRJkqzzcQraSy+95F42xuill15SQECA2rdvL8n6ds7hcHh9u7xt27bzutJ7VlZWjuEzcXFxSkxMdA8HatasmeLi4vTKK694DRH66quvtG7dugI/Frt27dKnn37qvp+amqr//ve/aty4seLj4yVZ35AvW7ZM8+bNy/H8w4cPKzMzU5IUGhrqXudLy5Yt9e233+rnn392h6TGjRsrIiJC48ePd0+z7nLTTTfJ399fI0aMyPGtqDHGPc1006ZNlZycrIkTJ+rYsWM5Xvf06ZGLgitkeJ6vlZWVVeAXT/b391e3bt00e/Zsnz235/reL774YlWvXl2TJ0/O8fN0/Sxc32Cf/rM5/fe4IPTo0UNZWVkaNWpUjscyMzPdNR46dChHPa7eRdfvU9WqVeXv75/jXLqpU6fmqZawsLAcxyQvv9u58ff3z1Hziy++eM49Wx06dFBAQIBefPFFr/3m9eeS12MtWX+jly5dqunTp2vUqFG64oordP/99yslJcW9ja92snz5ci1btsxr3926dZMxxmcPj+dzfR3/3Jw+FX1gYKDq1asnY4wyMjLk7++vq6++Wp9//rnXUOu9e/fqvffe05VXXukePu5LcnKyfvrpJ6Wnp7vXzZkzJ8cQPdd1vvJSd+fOnZWVleX1f5QkPf/883I4HOc04gAoCvQkAXmUnJys9957T7fccovq1q2rO++8Uw0aNFB6erqWLl2qjz76yH19iYsuuki9evXS9OnTdfjwYbVu3Vo///yz3nrrLXXt2lVt27Yt0NqCg4P19ddfq1evXmrevLm++uorffnllxo8eLB7KMm1116rSZMm6ZprrlHPnj21b98+vfzyy6pZs6bX9X7y4+jRo6pSpYpuvvlmXXTRRQoPD9c333yjFStWuL9FDggI0DPPPKO77rpLrVu31m233aa9e/dqypQpqlatmh5++OECOw6SNVSuT58+WrFihSpVqqQ333xTe/fu9eoxGzhwoL744gt16dJFvXv3VtOmTXX8+HGtWbNGH3/8sbZt2+a+Jk29evX0wQcfqHbt2qpQoYIaNGjgPq+lZcuWevfdd+VwONzD7/z9/XXFFVdo3rx5atOmjfsEb8lqQ6NHj9agQYO0bds2de3aVREREdq6das+/fRT9e3bV4899pj8/Pz0+uuvq1OnTqpfv77uuusuVa5cWTt37tR3332nyMhI/d///V+BHrezqV+/vi677DINGjTI/c34rFmz3IGyII0fP17fffedmjdvrnvvvVf16tXTwYMH9dtvv+mbb77RwYMH871PPz8/TZs2Tdddd50aN26su+66SwkJCVq/fr3+/PNPzZs3T5GRkWrVqpUmTJigjIwMVa5cWfPnz9fWrVsL/D22bt1a/fr107hx47Rq1SpdffXVCggI0MaNG/XRRx9pypQpuvnmm/XWW29p6tSpuvHGG5WcnKyjR4/qtddeU2RkpPvLmKioKHXv3l0vvviiHA6HkpOTNWfOnDydWydZofybb77RpEmTlJiYqOrVq6tOnTpn/d3OTZcuXfT2228rKipK9erV07Jly/TNN9+oYsWK53SsXNdKGzdunLp06aLOnTtr5cqV+uqrrxQTE3PW5+f1WK9bt05Dhw5V7969dd1110myruXUuHFjPfDAA/rwww/d7++TTz7RjTfeqGuvvVZbt27VK6+8onr16nl9qdG2bVvdcccdeuGFF7Rx40b3kM0ffvhBbdu2dU+24+v4e05u4unqq69WfHy8WrRooUqVKmndunV66aWXdO2117p7aUaPHq0FCxboyiuv1AMPPKBy5crp1VdfVVpaWo7rn53unnvu0ccff6xrrrlGPXr00ObNm/XOO+94TaQgWX/LoqOj9corrygiIkJhYWFq3ry5z/MDr7vuOrVt21ZPPfWUtm3bposuukjz58/X559/rgEDBuTYN1BsFN1EekDp8Ndff5l7773XVKtWzQQGBpqIiAjTokUL8+KLL5pTp065t8vIyDAjRoww1atXNwEBASYpKckMGjTIaxtjrClXr7322hyvIynH9LuuKX2fffZZ97pevXqZsLAws3nzZnP11Veb0NBQU6lSJTNs2DCv6ykZY8wbb7xhatWqZYKCgsyFF15oZsyY4XNKYF+v7fmYa0rstLQ0M3DgQHPRRReZiIgIExYWZi666CKf1zT64IMPTJMmTUxQUJCpUKGCuf32282OHTu8tnG9l9P5qtEX17GcN2+eadSokft9fvTRRzm2PXr0qBk0aJCpWbOmCQwMNDExMeaKK64wEydOdF83xRhjli5dapo2bWoCAwNzTAf+559/uq8p5Wn06NE+r1PlMnv2bHPllVeasLAwExYWZi688ELTv39/s2HDBq/tVq5caW666SZTsWJFExQUZKpWrWp69OhhFi5cmOPYeE71bkzep6hu3bq1zymFT5/G1xhjNm/ebDp06GCCgoJMpUqVzODBg82CBQt8TgHua5/5aet79+41/fv3N0lJSSYgIMDEx8eb9u3bm+nTp7u3cU1h7Ovnm9u02D/++KO56qqr3O21UaNGXlML79ixw9x4440mOjraREVFme7du5tdu3bl+NnnZwpwX23aZfr06aZp06YmJCTEREREmIYNG5rHH3/c7Nq1yxhjzG+//WZuu+02c8EFF5igoCATFxdnunTpYn755Rev/ezfv99069bNhIaGmvLly5t+/fqZP/74I09TgK9fv960atXKhISEuKfUzs/v9ukOHTpk7rrrLhMTE2PCw8NNx44dzfr163NML+06hqdPb+7rZ5eVlWVGjBhhEhISTEhIiGnTpo35448/cp2yOr/HOjMz01xyySWmSpUq7qnHXaZMmWIkmQ8++MAYY03fPXbsWFO1alUTFBRkmjRpYubMmePzdyYzM9M8++yz5sILLzSBgYEmNjbWdOrUyfz6669nPP65efXVV02rVq3cfxOSk5PNwIEDzZEjR7y2++2330zHjh1NeHi4CQ0NNW3bts1x/aXcfkeee+45U7lyZRMUFGRatGhhfvnllxxTgBtjzOeff27q1atnypUr59XOfB2Ho0ePmocfftgkJiaagIAAU6tWLfPss896TYVuTO7/9+Tn5wwUFIcxnAkHlGS9e/fWxx9/7HNYFgAAAPKPc5IAAAAAwAMhCQAAAAA8EJIAAAAAwAPnJAEAAACAB3qSAAAAAMADIQkAAAAAPJT6i8k6nU7t2rVLERERcjgcdpcDAAAAwCbGGB09elSJiYny88u9v6jUh6Rdu3YpKSnJ7jIAAAAAFBP//POPqlSpkuvjpT4kRURESLIORGRkpK21ZGRkaP78+br66qsVEBBgay0oG2hzKEq0NxQ12hyKEu2tdEhNTVVSUpI7I+Sm1Ick1xC7yMjIYhGSQkNDFRkZyS8XigRtDkWJ9oaiRptDUaK9lS5nOw2HiRsAAAAAwAMhCQAAAAA8EJIAAAAAwEOpPycpL4wxyszMVFZWVqG+TkZGhsqVK6dTp04V+muhbPH391e5cuWY5h4AAKAAlPmQlJ6ert27d+vEiROF/lrGGMXHx+uff/7hwywKXGhoqBISEhQYGGh3KQAAACVamQ5JTqdTW7dulb+/vxITExUYGFio4cXpdOrYsWMKDw8/48WrgPwwxig9PV379+/X1q1bVatWLdoXAADAeSjTISk9PV1Op1NJSUkKDQ0t9NdzOp1KT09XcHAwH2JRoEJCQhQQEKDt27e72xgAAADODZ/UJQILSgXaMQAAQMHgUxUAAAAAeCAkAQAAAIAHQhKKVLVq1TR58uQC21+bNm00YMCAAtvf6Qqq3sKuEwAAAAWHkFQC9e7dWw6HQ+PHj/da/9lnnxX7qcVXrFihvn372l1GoVm0aJEcDocOHz7stf6TTz7RqFGj7CkKAAAA+UJIKiA7dkjffWf9WxSCg4P1zDPP6NChQ0XzgucpPT1dkhQbG1skMwkWNxUqVFBERITdZQAAACAPCEkejJGOH8//bepUqWpVqV0769+pU/O/D2PyV2uHDh0UHx+vcePG5brN8OHD1bhxY691kydPVrVq1dz3e/fura5du2rs2LGqVKmSoqOjNXLkSGVmZmrgwIGqUKGCqlSpohkzZnjt559//lGPHj0UHR2tChUq6IYbbtC2bdty7HfMmDFKTExUnTp1JOUcvnb48GH169dPlSpVUnBwsBo0aKA5c+ZIkg4cOKDbbrtNlStXVmhoqBo2bKj3338/X8dp9erVatu2rSIiIhQZGammTZvql19+cT8+e/Zs1a9fX0FBQapWrZqee+65XPe1bds2ORwOrVq1yqt+h8OhRYsWadu2bWrbtq0kqXz58nI4HOrdu7eknMPtDh06pDvvvFPly5dXaGioOnXqpI0bN7ofnzlzpqKjozVv3jzVrVtX4eHhuuaaa7R79+58vX8AAADkn60hafHixbruuuuUmJgoh8Ohzz77zOtxY4yefvppJSQkKCQkRB06dPD6IFnQTpyQwsPzf+vfX3I6rX04ndZ9X9tFRvqpSpVoRUb65XjsxIn81erv76+xY8fqxRdf1I7z7L769ttvtWvXLi1evFiTJk3SsGHD1KVLF5UvX17Lly/Xfffdp379+rlfJyMjQx07dlRERIR++OEHLVmyxP0h3tVjJEkLFy7Uhg0btGDBAnfw8eR0OtWpUyctWbJE77zzjtauXavx48fL399fknTq1Ck1bdpUX375pf744w/17dtXd9xxh37++ec8v7fbb79dVapU0YoVK/Trr7/qySefVEBAgCTp119/VY8ePXTrrbdqzZo1Gj58uIYOHaqZM2ee03FMSkrS7NmzJUkbNmzQ7t27NWXKFJ/b9u7dW7/88ou++OILLVu2TMYYde7cWRkZGe5tTpw4oYkTJ+rtt9/W4sWL9ffff+uxxx47p9oAAACQd7ZeTPb48eO66KKLdPfdd+umm27K8fiECRP0wgsv6K233lL16tU1dOhQdezYUWvXruVimZJuvPFGNW7cWMOGDdMbb7xxzvupUKGCXnjhBfn5+alOnTqaMGGCTpw4ocGDB0uSBg0apPHjx+vHH3/Urbfeqg8++EBOp1Ovv/66+xyoGTNmKDo6WosWLdLVV18tSQoLC9Prr7+uwMBAn6/7zTff6Oeff9a6detUu3ZtSVKNGjXcj1euXNkrFPznP//RvHnz9OGHH+rSSy/N03v7+++/NXDgQF144YWSpFq1arkfmzRpktq3b6+hQ4dKkmrXrq21a9fq2WefdfcA5Ye/v78qVKggSYqLi1N0dLTP7TZu3KgvvvhCS5Ys0RVXXCFJevfdd5WUlKTPPvtM3bt3l2SF0VdeeUXJycmSpH//+98aOXJkvusCAABA/tgakjp16qROnTr5fMwYo8mTJ2vIkCG64YYbJEn//e9/ValSJX322We69dZbC7ye0FDp2LH8PWfnTqlu3eyeJEny95fWrpUqV/be1ul0KjU1VZGRkTku/Hmup+k888wzateu3Xn1MNSvX9+rnkqVKqlBgwbu+/7+/qpYsaL27dsnyRrCtmnTphzn2Jw6dUqbN29232/YsGGuAUmSVq1apSpVqrgD0umysrI0duxYffjhh9q5c6fS09OVlpaWr3OaHnnkEd1zzz16++231aFDB3Xv3t0dOtatW+duWy4tWrTQ5MmTlZWV5e7RKmjr1q1TuXLl1Lx5c/e6ihUrqk6dOlq3bp17XWhoqLtWSUpISHD/DAAAAFB4bA1JZ7J161bt2bNHHTp0cK+LiopS8+bNtWzZslxDUlpamtLS0tz3U1NTJVnfynsOZXKtM8bI6XTK+b+UExKSvzpr1pReeUW6/36HsrIc8vc3mjbNqGbNnNsaY5SVJYWGGjkcztMey/t5ScYYd91XXnmlrr76aj355JPq1auXJLnfi8PhcG/n4hoO51pnjFG5cuW8tnE4HD7XZWVlyel06ujRo2ratKnefvvtHLXFxsbK6XTKGKPQ0FCvfXjW73Q63b2BvraRrJ7EKVOmaNKkSWrYsKHCwsL08MMPKy0tzes5p79HT08//bRuvfVWzZ07V1999ZWGDRum9957TzfeeKPP57qWnU6nu5fs9G1cx0GSu6252pDn80+v6fS25vkavrYJCAjI8T7P9F5dxz0jI8Md8Fxt/vS2DxQG2huKGm0ORYn2dm4cH30knTwpc/vtVk+CzfL68yu2IWnPnj2SrF4NT5UqVXI/5su4ceM0YsSIHOvnz5+foweiXLlyio+P17Fjx7zOpcmv7t2lK65waOtWf1WvnqXKlY3+l818Onr06Dm/lmT9cDMzM90B8KmnnlKrVq3cEzK41oeHh2v37t06cuSI+8P4ihUr3D1avvYlSZmZmUpPT/da53Q6derUKaWmpqpu3br64IMPFBwcrMjIyBz1paam+tzv6ftJTk7Wjh079Ntvv6mmj1T5/fffq1OnTrr++uvdz92wYYPq1Knj3q+vWk8XHx+vu+++W3fffbf69Omj119/Xe3bt1dycrIWL17s9dzvvvtOycnJOn78eI56g4KCJEmbN2929/AsXbpUknX+kOt9S9aEDp69c551JiUlKTMzU99++627N+ngwYPasGGDqlWrptTUVJ06dUrGGK/aTp486T6+vqSnp+vkyZNavHixMjMzvR5bsGBBrscHKGi0NxQ12hyKEu0t7/xPnVKHf/9bwYcOaeXq1fq7fXu7S9KJPE4EUGxD0rkaNGiQHnnkEfd914fSq6++OscH+lOnTumff/5ReHj4eZ/jFBlpDbs7E2OMjh49qoiIiPO6nlFAQIDKlSvnfj+XX365evbsqenTp/+vFmv9Nddco4EDB+rVV19Vt27dNG/ePC1cuFCRkZHubU7fl2SFx8DAQK91fn5+7lDUp08fvfzyy+rVq5eGDx+uKlWqaPv27fr00081cOBAValSxed+T99Pp06d1KpVK911112aOHGiatasqfXr18vhcOiaa65R3bp1NXv2bP3xxx8qX768nn/+ee3fv1/169d379dXrS4nT57U448/rm7duql69erasWOHVq9erZtuukmRkZF64okn1Lx5c73wwgvq0aOHli1bptdff10vvfSSe3+e9UZGRuqyyy7TSy+9pPr162vfvn3ua1WFhoYqMjJS9erVk8Ph0Pfff6/OnTsrJCRE4eHhXnU2adJE119/vR555BFNmzZNERERGjRokCpXrqxbb71VAQEBCg4OlsPh8HpfIf/r5vT1XiWrPYeEhKhVq1bu9pyRkaEFCxboqquuck9YARQW2huKGm0ORYn2ln+OTz9VuUOHZKpXV4OxY9Xgf1842+lMX6x7KrYhKT4+XpK0d+9eJSQkuNfv3bs3x7TWnoKCgtzf+HsKCAjI0aCzsrLkcDjk5+eX4xyhwuA5DO58Xs/hcOTYx6hRo/Thhx9Kknt9/fr1NXXqVI0dO1ajR49Wt27d9Nhjj2n69OnubXztK7caXevCw8O1ePFiPfHEE7r55pt19OhRVa5cWe3bt1d0dLT8/Pxy3e/p+549e7Yee+wx3X777Tp+/Lhq1qyp8ePHy8/PT0OHDtXWrVvVqVMnhYaGqm/fvuratauOHDnitd/cXicgIEAHDx5U7969tXfvXsXExOimm27SyJEj5efnp2bNmunDDz/U008/rdGjRyshIUEjR47U3XffnWu9b775pvr06aNLLrnEPcnF1Vdf7W5DSUlJGjFihAYPHqw+ffrozjvvdM+W57mfmTNn6qGHHtL111+v9PR0tWrVSnPnznW3Xdd2nu/L1zpPruPuq637WgcUFtobihptDkWJ9pYPPXpINWrIkZqqgPBwu6uRpDz/7BzG5PcKPYXD4XDo008/VdeuXSVZvS6JiYl67LHH9Oijj0qykl9cXJxmzpyZ54kbUlNTFRUVpSNHjvjsSdq6dauqV69eJLPlnWniBuB8+WrPGRkZmjt3rjp37swfdBQ62huKGm0ORYn2VjqcKRt4srUn6dixY9q0aZP7/tatW7Vq1SpVqFBBF1xwgQYMGKDRo0erVq1a7inAExMT3UEKAAAAQDHz999SVpZUvbrdlZwzW0PSL7/8orZt27rvu84l6tWrl2bOnKnHH39cx48fV9++fXX48GFdeeWV+vrrr7lGEgAAAFBcPfaY9Pnn0rRp0mmnMZQUtoakNm3a6Eyj/RwOh0aOHMkFNAEAAICSYPly6aOPJIdDuuQSu6s5Z5wYAwAAAOD8GSM9/ri13Lu31LChreWcD0ISAAAAgPP35ZfS4sVScLBUwkeCEZIAAAAAnJ/MTOmJJ6zlhx6SqlSxt57zREgCAAAAcH7eektau1aqUEF68km7qzlvhCQAAAAA5+f4cSksTBoyRIqOtrua82br7HYAAAAASoEHH5R69JDKl7e7kgJBTxKKNYfDoc8+++y891OtWjVNnjz5vPcDAACAXMTHS0FBdldRIAhJJVDv3r3lcDhy3K655poiq2H48OFq3Lhxkb1eXs2cOVPRPrp4V6xYob59+xZ9QQAAAKXZlCnSokV2V1HgGG5XQl1zzTWaMWOG17qgUpLcC0NsbKzdJQAAAJQumzZJjz1mzWz3229SkyZ2V1Rg6Eny5fjx3G+nTuV925Mn87btOQgKClJ8fLzXrfz/xoAuWrRIgYGB+uGHH9zbT5gwQXFxcdq7d68k6euvv9aVV16p6OhoVaxYUV26dNHmzZu9XmPHjh267bbbVKFCBYWFhalZs2Zavny5Zs6cqREjRmj16tXuXqyZM2f6rHPRokW69NJLFRYWpujoaLVo0ULbt293Pz5t2jQlJycrMDBQderU0dtvv53re160aJEcDocOHz7sXrdq1So5HA5t27ZNixYt0l133aUjR4646xo+fLiknMPt/v77b91www0KDw9XZGSkevTo4T42UnZP2dtvv61q1aopKipKt956q44ePXrGnwsAAECZ8dRTVkDq1KlUBSSJkORbeHjut27dvLeNi8t9206dvDZ11Kih6CpV5BcZ6b1dAWvTpo0GDBigO+64Q0eOHNHKlSs1dOhQvf7666pUqZIk6fjx43rkkUf0yy+/aOHChfLz89ONN94op9MpSTp27Jhat26tnTt36osvvtDq1av1+OOPy+l06pZbbtGjjz6q+vXra/fu3dq9e7duueWWHHVkZmaqa9euat26tX7//XctW7ZMffv2lcPhkCR9+umneuihh/Too4/qjz/+UL9+/XTXXXfpu+++O6f3fcUVV2jy5MmKjIx01/XYY4/l2M7pdOqGG27QwYMH9f3332vBggXasmVLjvewefNmffbZZ5ozZ47mzJmj77//XuPHjz+n2gAAAEqVn3+WPvxQcjikUvj5iOF2JdScOXMUflrAGjx4sAYPHixJGj16tBYsWKC+ffvqjz/+UK9evXT99de7t+12Wth78803FRsbq7Vr16pBgwZ67733tH//fq1YsUIVKlSQJNWsWdO9fXh4uMqVK6f4+Phca0xNTdWRI0fUpUsXJScnS5Lq1q3rfnzixInq3bu3HnjgAUnSI488op9++kkTJ05U27Zt831MAgMDFRUVJYfDcca6Fi5cqDVr1mjr1q1KSkqSJP33v/9V/fr1tWLFCl1yySWSrDA1c+ZMRURESJLuuOMOLVy4UGPGjMl3bQAAAKWGMdLjj1vLvXpJjRrZW08hICT5cuxY7o/5+3vf37cv9239vDvqzJYtOpKaqsjISPn5nV8nXtu2bTVt2jSvda4wI1mB4d1331WjRo1UtWpVPf/8817bbty4UU8//bSWL1+ulJQUdw/S33//rQYNGmjVqlVq0qSJ1z7zq0KFCurdu7c6duyoq666Sh06dFCPHj2UkJAgSVq3bl2OyRRatGihKVOmnPNr5sW6deuUlJTkDkiSVK9ePUVHR2vdunXukFStWjV3QJKkhIQE7TvTzxsAAKAsmDtX+v57KThYGjnS7moKBSHJl7Cwwts2K8v69zxDUlhYmFfPji9Lly6VJB08eFAHDx5UmEet1113napWrarXXntNiYmJcjqdatCggdLT0yVJISEh51Wfy4wZM/Tggw/q66+/1gcffKAhQ4ZowYIFuuyyy/K9L1ewNMa412VkZBRInb4EBAR43Xc4HO4wCQAAUCZlZUlPPGEtP/ig5PGlc2nCOUml1ObNm/Xwww/rtddeU/Pm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AACA0uDkSWnoUGv5qaekChXsracEIyQBAAAApcELL0g7dkgXXCD9+992V1OiEZIAAACAku7AAWncOGt59GgpONjeeko4QhIAAABQ0v38szVZw0UXSbffbnc1JR4XkwUAAABKuk6dpE2bpJQUyY9+kPNFSAIAAABKg8RE64bzRswEAAAASqo//pAWL7a7ilKHkAQAAACURMZIDz0ktW4tPf+83dWUKoQkAAAAoCSaN0/69lspMFC68Ua7qylVCEkAAABASZOVJT3+uLX8n/9I1arZWk5pQ0gCAAAASpp33pHWrJGio6XBg+2uptQhJAEAAAAlycmT0pAh1vLgwVKFCvbWUwoRkgAAAICS5IUXpB07pKQka6gdChwhCQAAAChJatSQLrhAGjVKCg62u5pSiYvJAgAAACVJ9+7SdddJAQF2V1JqEZIAAACAkoYepELFcDsAAACgJHj0UemNN6TMTLsrKfXoSQIAAACKu99+kyZNspabNZMuusjeeko5epIAAACA4syY7AvH3n47AakIEJIAAACA4mz+fGnhQikwUBo92u5qygRCEgAAAFBcZWVl9yL9+99StWq2llNWEJIAAACA4uqdd6Tff5eioqTBg+2upswgJAEAAADFUUaG9PTT1vLgwVLFivbWU4YU65CUlZWloUOHqnr16goJCVFycrJGjRolY4zdpQEAAACFKyBA+vBDqUcP6T//sbuaMqVYTwH+zDPPaNq0aXrrrbdUv359/fLLL7rrrrsUFRWlBx980O7yAAAAgMLVvLn0wQd2V1HmFOuQtHTpUt1www269tprJUnVqlXT+++/r59//tnmygAAAIBCdPSoFBFhdxVlVrEOSVdccYWmT5+uv/76S7Vr19bq1av1448/apLrQlo+pKWlKS0tzX0/NTVVkpSRkaGMjIxCr/lMXK9vdx0oO2hzKEq0NxQ12hyKUpG2t23bVK5ZMznvuUfOUaOsYXcoEHn9+TlMMT7Bx+l0avDgwZowYYL8/f2VlZWlMWPGaNCgQbk+Z/jw4RoxYkSO9e+9955CQ0MLs1wAAADgvF38/PNK+v577W/USEtHjJAcDrtLKjVOnDihnj176siRI4qMjMx1u2IdkmbNmqWBAwfq2WefVf369bVq1SoNGDBAkyZNUq9evXw+x1dPUlJSklJSUs54IIpCRkaGFixYoKuuukoBfCOA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1q1bTeXKlU3Lli3NDTfcUDTFolTIb5tLS0szzZo1M507dzY//vij2bp1q1m0aJFZtWpVEVeOkii/7e3dd981QUFB5t133zVbt2418+bNMwkJCebhhx8u4spRGAhJBejSSy81/fv3d9/PysoyiYmJZty4cT6379Gjh7n22mu91jVv3tz069evUOtE6ZHfNne6zMxMExERYd56663CKhGlyLm0t8zMTHPFFVeY119/3fTq1YuQhHzJb5ubNm2aqVGjhklPTy+qElGK5Le99e/f37Rr185r3SOPPGJatGhRqHWiaDDcroCkp6fr119/VYcOHdzr/Pz81KFDBy1btsznc5YtW+a1vSR17Ngx1+0BT+fS5k534sQJZWRkqEKFCoVVJkqJc21vI0eOVFxcnPr06VMUZaIUOZc298UXX+jyyy9X//79ValSJTVo0EBjx45VVlZWUZWNEupc2tsVV1yhX3/91T0kb8uWLZo7d646d+5cJDWjcJWzu4DSIiUlRVlZWapUqZLX+kqVKmn9+vU+n7Nnzx6f2+/Zs6fQ6kTpcS5t7nRPPPGEEhMTc4R14HTn0t5+/PFHvfHGG1q1alURVIjS5lza3JYtW/Ttt9/q9ttv19y5c7Vp0yY98MADysjI0LBhw4qibJRQ59LeevbsqZSUFF155ZUyxigzM1P33XefBg8eXBQlo5DRkwSUUePHj9esWbP06aefKjg42O5yUMocPXpUd9xxh1577TXFxMTYXQ7KCKfTqbi4OE2fPl1NmzbVLbfcoqeeekqvvPKK3aWhFFq0aJHGjh2rqVOn6rffftMnn3yiL7/8UqNGjbK7NBQAepIKSExMjPz9/bV3716v9Xv37lV8fLzP58THx+dre8DTubQ5l4kTJ2r8+PH65ptv1KhRo8IsE6VEftvb5s2btW3bNl133XXudU6nU5JUrlw5bdiwQcnJyYVbNEq0c/kbl5CQoICAAPn7+7vX1a1bV3v27FF6eroCAwMLtWaUXOfS3oYOHao77rhD99xzjySpYcOGOn78uPr27aunnnpKfn70RZRk/PQKSGBgoJo2baqFCxe61zmdTi1cuFCXX365z+dcfvnlXttL0oIFC3LdHvB0Lm1OkiZMmKBRo0bp66+/VrNmzYqiVJQC+W1vF154odasWaNVq1a5b9dff73atm2rVatWKSkpqSjLRwl0Ln/jWrRooU2bNrkDuST99ddfSkhIICDhjM6lvZ04cSJHEHIFdGNM4RWLomH3zBGlyaxZs0xQUJCZOXOmWbt2renbt6+Jjo42e/bsMcYYc8cdd5gnn3zSvf2SJUtMuXLlzMSJE826devMsGHDmAIc+ZLfNjd+/HgTGBhoPv74Y7N792737ejRo3a9BZQg+W1vp2N2O+RXftvc33//bSIiIsy///1vs2HDBjNnzhwTFxdnRo8ebddbQAmS3/Y2bNgwExERYd5//32zZcsWM3/+fJOcnGx69Ohh11tAAWK4XQG65ZZbtH//fj399NPas2ePGjdurK+//tp9EuDff//t9Y3DFVdcoffee09DhgzR4MGDVatWLX322Wdq0KCBXW8BJUx+29y0adOUnp6um2++2Ws/w4YN0/Dhw4uydJRA+W1vwPnKb5tLSkrSvHnz9PDDD6tRo0aqXLmyHnroIT3xxBN2vQWUIPltb0OGDJHD4dCQIUO0c+dOxcbG6rrrrtOYMWPsegsoQA5j6A8EAAAAABe+8gMAAAAAD4QkAAAAAPBASAIAAAAAD4QkAAAAAPBASAIAAAAAD4QkAAAAAPBASAIAAAAAD4QkAAAAAPBASAIAAAAAD4QkAECp16ZNGw0YMMDuMgAAJQQhCQAAAAA8OIwxxu4iAAAoLL1799Zbb73ltW7r1q2qVq2aPQUBAIo9QhIAoFQ7cuSIOnXqpAYNGmjkyJGSpNjYWPn7+9tcGQCguCpndwEAABSmqKgoBQYGKjQ0VPHx8XaXAwAoATgnCQAAAAA8EJIAAAAAwAMhCQBQ6gUGBiorK8vuMgAAJQQhCQBQ6lWrVk3Lly/Xtm3blJKSIqfTaXdJAIBijJAEACj1HnvsMfn7+6tevXqKjY3V33//bXdJAIBijCnAAQAAAMADPUkAAAAA4IGQBAAAAAAeCEkAAAAA4IGQBAAAAAAeCEkAAAAA4IGQBAAAAAAeCEkAAAAA4IGQBAAAAAAeCEkAAAAA4IGQBAAAAAAeCEkAAAAA4OH/AS7M4EuC88OaAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def euler_method(f, t0, y0, t_final, h):\n", " N = int((t_final - t0) / h) + 1\n", " t_vals = np.linspace(t0, t_final, N)\n", " num_vals = np.zeros(N)\n", " \n", " y = y0\n", " for j in range(N):\n", " num_vals[j] = y\n", " y += h * f(t_vals[j], y)\n", "\n", " return t_vals, num_vals\n", "\n", "# Parameters\n", "t0 = 0\n", "t_final = 0.9\n", "y0 = 1\n", "h = (t_final - t0) / 4\n", "\n", "# Change the ODE to y' = y^2 \n", "f = lambda t, y: y*y\n", "\n", "t_vals, num_vals = euler_method(f, t0, y0, t_final, h)\n", "\n", "def exact_solution(t):\n", " return 1 / (1 - t)\n", "\n", "exact_vals = exact_solution(t_vals)\n", "\n", "# Plot the new solution\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(t_vals, num_vals, label=\"Numerical solution\", marker=\".\", color=\"blue\")\n", "plt.plot(t_vals, exact_vals, label=\"Exact solution\", linestyle=\"--\", color=\"red\")\n", "plt.xlabel(\"t\")\n", "plt.ylabel(\"y(t)\")\n", "plt.title(\"Comparison between numerical results and exact solution\")\n", "plt.legend()\n", "plt.grid()\n", "plt.show()\n" ] } ], "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.10.15" } }, "nbformat": 4, "nbformat_minor": 2 }