{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[^ gor: Uvod](00_uvod.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Reševanje enačb z navadno iteracijo\n", "Pri [rekurzivnih zaporedjih](http://localhost:8888/notebooks/02a_zaporedja.ipynb#Rekurzivna-zaporedja) smo videli, da za zaporedje, ki zadošča rekurzivni formuli\n", "$$x_{n+1}= g(x_n)$$\n", "velja, da je je limita zaporedja $x_n$, vedno rešitev enačbe\n", "$$x=g(x).$$\n", "Pri tem smo predpostavili, da limita sploh obstaja in da je $g$ **zvezna** funkcija. \n", "\n", "Trditev lahko obrnemo. Ničlo funkcije $f(x)$ lahko poiščemo z rekurzivnim zaporedjem približkov\n", "$$x_{n+1} = g(x_n),$$\n", "če enačbo \n", "$$f(x) = 0$$\n", "preoblikujemo v ekvivalentno enačbo oblike\n", "$$ x = g(x).$$ \n", "Žal ne bo vsaka funkcija $g$ dobra, saj moramo poskrbeti, da zaporedje $x_n$ dejansko konvergira." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Primer\n", "Reši enačbo\n", "$$x=2^{-x}.$$\n", "\n", "## Rešitev\n", "Rekurzivna formula se kar sama ponuja. \n", "$$x_{n+1} = 2^{-x_n}.$$\n", "\n", "Seveda nam nič ne zagotavlja, da bo zaporedje $x_n$ dejansko konvergentno. A poskusiti ni greh, pravijo. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.5\n", "0.7071067811865476\n", "0.6125473265360659\n", "0.6540408600420695\n", "0.6354978458133738\n", "0.6437186417228692\n", "0.6400610211772396\n", "0.6416858070429984\n", "0.6409635371779632\n", "0.6412845090665851\n", "0.6411418514717377\n", "0.6412052524498624\n", "0.6411770745288387\n", "0.6411895977668723\n", "0.6411840319786225\n", "Razlika med desno in levo stranjo enačbe je -2.473635338007263e-06\n" ] } ], "source": [ "g = lambda x: 2**(-x)\n", "xp = 1 # začetni približek \n", "for i in range(15):\n", " xp = g(xp)\n", " print(xp)\n", "print(\"Razlika med desno in levo stranjo enačbe je\", xp-2**(-xp))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Videti je, da zaporedje konvergira in sicer natanko k rešitvi enačbe. Opazimo tudi, da za vsako pravilno decimalko potrebujemo približno 3 korake rekurzije.\n", "## Konvergenca\n", "\n", "Zdi se, da zaporedje približkov konvergira, vendar nekaj izračunanih členov ni dovolj, da bi bili povsem prepričani v konvergenco. Na srečo velja izrek, ki za rekurzivna zaporedja zagotavlja konvergenco:\n", "\n", "### Izrek o konvergenci iteracije\n", "Naj bo $x_n$ zaporedje podano z začetnim členom $x_0$ in rekurzivno formulo $x_{n+1}=g(x_n)$. Naj bo $x_p$ rešitev enačbe $x=g(x)$ in naj bo $|g'(x)|<1$ za vse $x\\in[x_p-\\varepsilon,x_p+\\varepsilon]$. Če je $x_0\\in [x_p-\\varepsilon,x_p+\\varepsilon]$, je zaporedje $x_n$ konvergentno in je limita enaka \n", "$$\\lim_{n\\to\\infty}x_n=x_p.$$\n", "\n", "Izrek nam pove, da je konvergenca rekurzivnega zaporedja odvisna od velikosti odvoda iteracijske funkcije v rešitvi enačbe. Če je \n", "$$|g'(x_p)|<1$$ \n", "bo za začetni približek, ki je dovolj blizu rešitve, zaporedje podano z rekurzivno formulo $x_{n+1}=g(x_n)$ konvergiralo k rešitvi. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Odvod iteracijske funkcije: \n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAYCAYAAACcESEhAAAABHNCSVQICAgIfAhkiAAAA5JJREFU\naIHt2WuIVVUUB/Cf0/gox9S0LHtgNkZlJZY9qIQKsizMIAoiCiwq+lAk44eg6KWFEWERRAm9KCqR\njD6EVgQVRERKqUT6pYYelmX4oYJCwz6sc5tz9xzvnLmvkbp/OJyz191nrfXfZ++11t6XDkYMo0ba\ngRo4H7MwB5swHpdiGb4eQb8OSJyNdViPrXgOR9ep61DcnD0vxqfZ80s4Mul7FT7GNvTVaW+4GI0Z\nufZQ3KdhcqucOQPvYlLW7sFH+Dlx8g48UeO6Lus3DmOy55W4ewj7M/AHHqibQXl0434ckrXLcO8S\nPHpa4dDb6E1kc7EPrzeoexPOyp4n1ujXrz2D34fTc+2y3I/CqlY49Du+xRGJfDd21aFvEZaKmbNH\nLHO4s8Y7/Vo/+BPwRiIbDvdn5SJBV5Oc+kbEtfGJ/C8cXIe+qThBfIR7xKDfjjUN+NgMXIJPEtlw\nuL+PayuN7iY5da6YFT/lZNMzpz6oQ98L2dUMnCNyzU7BdxIewfak3024DN/hGLyHkzBPhI9ncKHB\nM3843Dfi+ga4lMZK/I3z2mFMcdhZJAb58Jzs5Kzv3JzsNhE+KjlllvB9nvggV2bydZhdwpf9cZ8o\nqqGWoleQWdFqQzn0qx78HhFz7yro+yS+yLW3GChnK9iJlxPZOwYn1xS1uI+WW3H5sDMHLyq/8foc\nSwrkY/EqVuPekrpagSswRdT/KbaLPHKmqKZ24bCkz1iDw/IvatfrQ3GfLEpQEuWbVS/FejBKxOoN\nuK9BXY1iZnbfW/DbnuzeKwZ/hfB5Nr4UoWYMHk/e2ybywWcFOstwP1ZuMjSr2qlgOb5KjN/YZBtl\n8WN2T0tAYkUQoQX+FD7fgsewUGyeNibvrcf8/dgrw/2CTEfTsQQPFchXt8JYAfpVx/wpYtf7YEHf\ntaKqqaz8Zao3TrXwmoF9RwVlua8RoQnNKzUvFjNmA17JybvFTq8d6FbN51fcikdFmVhZCcfjIlxj\nICT9gIfFEcde/IYdYmWk/q/CDXg+a5flfjneFPV/U7E7M1R0LW+2sQSLRdzeJ2b6h+JsqIL5Igk+\njafEoddpiY6p4mOlvn+vuC5fiFOy5zLcpxs4KOwgh+NEElyAgzLZOJGw+8RMPXFkXPvvYyneqvH7\nZlzdJl/+dzhVJN+infgC8cfNtFYYPpD/yWonZooVMEEk2y5xXr9DJNh6TmY76KCDDjro4F/8A5eO\nzyPAzwjYAAAAAElFTkSuQmCC\n", "text/latex": [ "$$- 2^{- x} \\log{\\left (2 \\right )}$$" ], "text/plain": [ " -x \n", "-2 ⋅log(2)" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Odvod g(x) v rešitvi -0.444436618579400\n" ] } ], "source": [ "import sympy as sym\n", "from IPython.display import display\n", "sym.init_printing(use_latex=True)\n", "\n", "x = sym.Symbol('x')\n", "dg = sym.diff(g(x),x)\n", "print(\"Odvod iteracijske funkcije: \")\n", "display(dg)\n", "print(\"Odvod g(x) v rešitvi\", dg.subs(x,xp).evalf())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Odvod v rešitvi je približno -0.44, kar je po absolutni vrednosti manj od 1. To pomeni, da zaporedje približkov konvergira.\n", "## Hitrost konvergence\n", "Ko iščemo rešitev enačbe z rekurzivnim zaporedjem, nas seveda zanima, koliko korakov je potrebnih za določeno število decimalk. To najlažje predstavimo z grafom napake v logaritemski skali." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "xp = sym.solve(sym.Eq(x,g(x)),x)[0].evalf() # točna rešitev\n", "\n", "n = 30;\n", "xz = [1] # zaporedje približkov\n", "for i in range(n-1):\n", " xz.append(g(xz[-1]))\n", "napaka = [x - xp for x in xz] # zadnji približek vzamemo za točno rešitev\n", "plt.semilogy(range(n),napaka,'o')\n", "plt.title(\"Napaka pri računanju rešitve z navadno iteracijo\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Napaka pada podobno kot pri bisekciji. Za vsako pravilno decimalko potrebujemo približno 3 korake." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import disqus\n", "%reload_ext disqus\n", "%disqus matpy" ] } ], "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.5.0+" } }, "nbformat": 4, "nbformat_minor": 0 }