{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "SciPy\n", "=====" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Što je SciPy?\n", "\n", "SciPy je nadgradnja NumPy paketa, i sadrži veliki broj numeričkih algoritama za cijeli niz područja. Ovdje su pobrojana neka nama zanimljivija:\n", "\n", "* Specijalne funkcije ([scipy.special](http://docs.scipy.org/doc/scipy/reference/special.html))\n", "* Integracija ([scipy.integrate](http://docs.scipy.org/doc/scipy/reference/integrate.html))\n", "* Optimizacija ([scipy.optimize](http://docs.scipy.org/doc/scipy/reference/optimize.html))\n", "* Interpolacija ([scipy.interpolate](http://docs.scipy.org/doc/scipy/reference/interpolate.html))\n", "* Fourierova transformacija ([scipy.fftpack](http://docs.scipy.org/doc/scipy/reference/fftpack.html))\n", "* Linearna algebra ([scipy.linalg](http://docs.scipy.org/doc/scipy/reference/linalg.html))\n", "* Linearna algebra s rijetkim matricama ([scipy.sparse](http://docs.scipy.org/doc/scipy/reference/sparse.html))\n", "* Statistika ([scipy.stats](http://docs.scipy.org/doc/scipy/reference/stats.html))\n", "* Procesiranje slika ([scipy.ndimage](http://docs.scipy.org/doc/scipy/reference/ndimage.html))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Za zadnja dva područja postoje i napredniji paketi. Za slike smo već npr. koristili *scikit-image*), a za statistiku ćemo korititi *pandas* paket." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "SciPy paket učitavamo pomoću `scipy` modula." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy import *" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Narvno, možemo učitati i samo podpaket koji nas zanima, u ovom slučaju za linearnu algebru. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "import scipy.linalg as la" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Specijalne funkcije\n", "\n", "Kao primjer pogledajmo Besselove funkcije:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# jn, yn: Besselove funkcije prvog i drugog reda s realnim stupnjem\n", "# jn_zeros, yn_zeros: računaju pripadne nultočke\n", "from scipy.special import jn, yn, jn_zeros, yn_zeros" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "J_0(0.0) = 1.000000\n", "Y_0(1.0) = 0.088257\n" ] } ], "source": [ "n = 0 # stupanj\n", "x = 0.0\n", "\n", "print (\"J_{}({}) = {:f}\".format(n, x, jn(n, x)))\n", "\n", "x = 1.0\n", "print (\"Y_{}({}) = {:f}\".format(n, x, yn(n, x)))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from pylab import *\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = linspace(0, 10, 100)\n", "\n", "fig, ax = subplots()\n", "for n in range(4):\n", " ax.plot(x, jn(n, x), label=r\"$J_%d(x)$\" % n)\n", "ax.legend();" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "array([ 2.40482556, 5.52007811, 8.65372791, 11.79153444])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 0 # stupanj\n", "m = 4 # broj nultočaka za izračunati\n", "jn_zeros(n, m)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Numerička integracija" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy.integrate import quad, dblquad, tplquad" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "`quad` funkcija se koriste za numeričku integracije (quad ... jer se na engleskom taj proces zove kvadratura). `dblquad` služi za dvostruke, a `tplquad` za trostruke integrale.\n", "\n", "Jednostavan primjer, računamo \n", "$$\\begin{equation*} \\int_0^1 x\\, \\mathrm{d}x \\end{equation*}$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "def f(x):\n", " return x" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rezultat = 0.5, apsolutna greška = 5.551115123125783e-15\n" ] } ], "source": [ "x_donje = 0\n", "x_gornje = 1\n", "\n", "rez, abserr = quad(f, x_donje, x_gornje)\n", "\n", "print (\"Rezultat = {}, apsolutna greška = {}\".format(rez,abserr))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Ove funkcije imaju puno opcionalnih argumenata. Ako želimo funkciji koju integriramo proslijediti dodatne parametre (vidi [ovdje](http://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html)), možemo korisiti varijablu `args`." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7366751370811073 9.389126882496403e-13\n" ] } ], "source": [ "def integrand(x, n):\n", " \"\"\"\n", " Besselova funkcija prvog tipa stupnja n. \n", " \"\"\"\n", " return jn(n, x)\n", "\n", "\n", "x_d = 0\n", "x_g = 10\n", "\n", "rez, abserr = quad(integrand, x_d, x_g, args=(3,))\n", "\n", "print (rez, abserr)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Korištenje anonimnih funkcija:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numerički = 1.7724538509055159, 1.4202636780944923e-08\n", "egzaktno = 1.7724538509055159\n" ] } ], "source": [ "rez, abserr = quad(lambda x: exp(-x ** 2), -Inf, Inf)\n", "\n", "print (\"numerički = {}, {}\".format(rez, abserr))\n", "\n", "egzaktno = sqrt(pi)\n", "print (\"egzaktno = {}\".format(egzaktno))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "U više dimenzija:\n", "\n", "\\begin{equation*}\n", "\\int_a^b \\int_{g(x)}^{h(x)} f(x,y)\\,\\mathrm{d}y\\mathrm{d}x\n", "\\end{equation*}" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7853981633974476 1.3753098510218528e-08\n" ] } ], "source": [ "def integrand(x, y):\n", " return exp(-x**2-y**2)\n", "\n", "x_d = 0 \n", "x_g = 10\n", "y_d = 0\n", "y_g = 10\n", "# ovdje je a = x_d, b = x_g, g(x) = y_d, h(x) = y_g\n", "# g(x) i h(x) trebaju biti funkcije!\n", "rez, abserr = dblquad(integrand, x_d, x_g, lambda x : y_d, lambda x: y_g)\n", "\n", "print (rez, abserr)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Obične diferencijalne jednadžbe (ODJ)\n", "\n", "SciPy nudi dvije mogućnosti rješavanja ODJ: Funkciju `odeint` i klasu `ode`. Mi ćemo prikazati `odeint`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy.integrate import odeint, ode" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Sustav ODJ zapisujemo kao:\n", "\n", "$y' = f(y, t)$\n", "\n", "gdje je \n", "\n", "$y = [y_1(t), y_2(t), ..., y_n(t)]$, \n", "\n", "Još trebamo i početne uvjete $y(0)$.\n", "\n", "Ovo je sintaksa:\n", "\n", " y_t = odeint(f, y_0, t)\n", "\n", "+ `t` je niz vremena za koje želimo riješiti ODJ \n", "+ `y_t` je niz s jednim retkom za svaki trenutak iz `t`, a stupci daje rješenje `y_i(t)` u tom trenutku" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Dvostruko njihalo" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Opis problema: [http://en.wikipedia.org/wiki/Double_pendulum](http://en.wikipedia.org/wiki/Double_pendulum)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(url='http://upload.wikimedia.org/wikipedia/commons/c/c9/Double-compound-pendulum-dimensioned.svg')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Ovo su jednadže s wiki stranice:\n", "\n", "${\\dot \\theta_1} = \\frac{6}{m\\ell^2} \\frac{ 2 p_{\\theta_1} - 3 \\cos(\\theta_1-\\theta_2) p_{\\theta_2}}{16 - 9 \\cos^2(\\theta_1-\\theta_2)}$\n", "\n", "${\\dot \\theta_2} = \\frac{6}{m\\ell^2} \\frac{ 8 p_{\\theta_2} - 3 \\cos(\\theta_1-\\theta_2) p_{\\theta_1}}{16 - 9 \\cos^2(\\theta_1-\\theta_2)}.$\n", "\n", "${\\dot p_{\\theta_1}} = -\\frac{1}{2} m \\ell^2 \\left [ {\\dot \\theta_1} {\\dot \\theta_2} \\sin (\\theta_1-\\theta_2) + 3 \\frac{g}{\\ell} \\sin \\theta_1 \\right ]$\n", "\n", "${\\dot p_{\\theta_2}} = -\\frac{1}{2} m \\ell^2 \\left [ -{\\dot \\theta_1} {\\dot \\theta_2} \\sin (\\theta_1-\\theta_2) + \\frac{g}{\\ell} \\sin \\theta_2 \\right]$\n", "\n", "Definiramo:\n", "\n", "$x = [\\theta_1, \\theta_2, p_{\\theta_1}, p_{\\theta_2}]$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "g = 9.82\n", "L = 0.5\n", "m = 0.1\n", "\n", "def dx(x, t):\n", " \"\"\"\n", " Desna strana ODJ\n", " \"\"\"\n", " x1, x2, x3, x4 = x[0], x[1], x[2], x[3]\n", " \n", " dx1 = 6.0/(m*L**2) * (2 * x3 - 3 * cos(x1-x2) * x4)/(16 - 9 * cos(x1-x2)**2)\n", " dx2 = 6.0/(m*L**2) * (8 * x4 - 3 * cos(x1-x2) * x3)/(16 - 9 * cos(x1-x2)**2)\n", " dx3 = -0.5 * m * L**2 * ( dx1 * dx2 * sin(x1-x2) + 3 * (g/L) * sin(x1))\n", " dx4 = -0.5 * m * L**2 * (-dx1 * dx2 * sin(x1-x2) + (g/L) * sin(x2))\n", " \n", " return [dx1, dx2, dx3, dx4]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# početni uvjet\n", "x0 = [pi/4, pi/2, 0, 0]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# niz vremena\n", "t = linspace(0, 10, 250)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# rješenje ODJ\n", "x = odeint(dx, x0, t)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# nacrtajmo rješenje\n", "# crtamo kuteve\n", "fig, axes = subplots(1,2, figsize=(12,4))\n", "axes[0].plot(t, x[:, 0], 'r', label=\"theta1\")\n", "axes[0].plot(t, x[:, 1], 'b', label=\"theta2\")\n", "x1 = + L * sin(x[:, 0])\n", "y1 = - L * cos(x[:, 0])\n", "x2 = x1 + L * sin(x[:, 1])\n", "y2 = y1 - L * cos(x[:, 1])\n", "axes[1].plot(x1, y1, 'r', label=\"njihalo1\")\n", "axes[1].plot(x2, y2, 'b', label=\"njihalo2\")\n", "axes[1].set_ylim([-1, 0])\n", "axes[1].set_xlim([1, -1]);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Jednostavna animacija, kasnije ćemo vidjeti kako možemo napravit bolju animaciju." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from IPython.display import display,clear_output\n", "import time" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots(figsize=(4,4))\n", "for t_idx, tt in enumerate(t[:200]):\n", " x1 = + L * sin(x[t_idx, 0])\n", " y1 = - L * cos(x[t_idx, 0])\n", " x2 = x1 + L * sin(x[t_idx, 1])\n", " y2 = y1 - L * cos(x[t_idx, 1]) \n", " ax.cla() \n", " ax.plot([0, x1], [0, y1], 'r.-')\n", " ax.plot([x1, x2], [y1, y2], 'b.-')\n", " ax.set_ylim([-1.5, 0.5])\n", " ax.set_xlim([1, -1])\n", " display(fig)\n", " clear_output(wait=True) \n", " time.sleep(0.03)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Prigušeni dinamički oscilator" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Opis problema možete pročitati ovdje: [http://en.wikipedia.org/wiki/Damping](http://en.wikipedia.org/wiki/Damping)\n", "\n", "Jednadžba je\n", "\n", "\\begin{equation} \\frac{\\mathrm{d}^2x}{\\mathrm{d}t^2} + 2\\zeta\\omega_0\\frac{\\mathrm{d}x}{\\mathrm{d}t} + \\omega^2_0 x = 0 \\end{equation}\n", "\n", "+ $x$ pozicija oscilatora, \n", "+ $\\omega_0$ frekvencija,\n", "+ $\\zeta$ koeficijent gušenja." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Definiramo $p = \\frac{\\mathrm{d}x}{\\mathrm{d}t}$:\n", "\n", "\\begin{equation} \\frac{\\mathrm{d}p}{\\mathrm{d}t} = - 2\\zeta\\omega_0 p - \\omega^2_0 x \\end{equation}\n", "\n", "\\begin{equation} \\frac{\\mathrm{d}x}{\\mathrm{d}t} = p \\end{equation}" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def dy(y, t, zeta, w0):\n", " \"\"\"\n", " Desna strana ODJ za harmonički oscilator\n", " \"\"\"\n", " x, p = y[0], y[1]\n", " \n", " dx = p\n", " dp = -2 * zeta * w0 * p - w0**2 * x\n", "\n", " return [dx, dp]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# početno stanje: \n", "y0 = [1.0, 0.0]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# vremena, frekvencija\n", "t = linspace(0, 10, 1000)\n", "w0 = 2*pi*1.0" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# rješavamo ODJ za tri vrste prigušenja\n", "\n", "y1 = odeint(dy, y0, t, args=(0.0, w0)) # negušeno\n", "y2 = odeint(dy, y0, t, args=(0.2, w0)) # podgušeno\n", "y3 = odeint(dy, y0, t, args=(1.0, w0)) # kritičko gušenje\n", "y4 = odeint(dy, y0, t, args=(5.0, w0)) # pregušeno" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\npKMXocwn0Gr2sd6zrgOhlWtwPJedaPLWNnBeuBQVFfHSSy9x0003tYTk6KzEl49UHCGE0M1tNNjD\n4XA4dHNv06JSaRWbyg96zp/Q4pozMzMpLS0NuNa1Fu7QoaLVGFa8umJ77vHjjz+uc07ig/i7Q3FC\nRkZG3A6IamV7jueWpFbCoNegX6izrjuSk4HFYgnaANizZw+DBw/m4osvZsiQIcyaNYu6ujqWL1/O\nmDFjGDFiBHPmzGkJovfRRx8xePBgxo4dy5tvvtlynpKSEk4//XSGDRvG3LlzGTZsGEePHmX37t0M\nHz68Zb9//vOf3HXXXbhcLp566qmWcNwXXnghoIjznDlzmDBhAmPGjGmZcb1o0SLOPfdcpk2bxoAB\nA7jllltazvnyyy8zYsQIhg8fzh133BH0v4zH587oMfghKyuL8vJyXWy8wR7ciooKzSrJYNPz9apI\ntQjFESpaXHM4i/WoTSgVVfJtt7VfuTBKkkaOpOkf/wi639atW1m4cCEnnHACc+bMYf78+Tz11FMs\nX76cgQMHcumll/LEE08wb948rrrqKlasWEH//v254IILWs5x9913M2XKFP785z/z0UcfsXBh4Lmz\nTqeT+fPns3v3bpKTk1vGvO677z6mTJnCM888Q0VFBRMnTuS0004DlHhK3333HcnJyQwaNIjf//73\nmM1mbr31VtavX092djZTp07lrbfe4txzz43in4s9Ro/BD/HsKVNeXk5OTo7q501PTw86IKoVobSa\n4s2lL1ri9XpcLhcmDfJmEiIkx4oePXpwwgknAHDJJZewfPly+vTp0zKx8rLLLuPzzz9ny5Yt9OnT\nhwEDBiCE4JJLLmk5x6pVq1pa/dOmTQs638jpdDJy5EguvvhiXnjhhRZT7ccff8wDDzzA6NGjOfXU\nU2loaGDv3r0ATJ06lczMTGw2G0OHDmXPnj188803nHrqqeTn52OxWJg9ezafffZZwLTjsRwYPQY/\nZGZmtoqLEk94Yr+ojUcMtTh3tOjZ3e4oy2t6CFYROZ1OXP/6F0kqz6EQgAwhNlU4FaW/ff39d97h\nuIGWXltzczNLlixh1apVvPfee9x33318//33SClZvHgxgwYNanWetWvXhhSO22QyxaWpKBhGj8EP\nek6KCVaQhBC6uY1qhV6tpuTk5IAmnfr6elJSUjRJO14rDC0WJgqHvXv3snr1akCx15922mns3r2b\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots()\n", "ax.plot(t, y1[:,0], 'k', label=\"negušeno\", linewidth=0.25)\n", "ax.plot(t, y2[:,0], 'r', label=\"podgušeno\")\n", "ax.plot(t, y3[:,0], 'b', label=\"kritičko gušenje\")\n", "ax.plot(t, y4[:,0], 'g', label=\"pregušeno\")\n", "ax.legend();" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Fourierova transformacija\n", "\n", "Paket je `fftpack`:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy.fftpack import *" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Primjenimo Fourierovu transformaciju na prethodni primjer harmoničkog oscilatora." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "N = len(t)\n", "dt = t[1]-t[0]\n", "\n", "# y2 je rješenje podgušenog harmoničkog oscilatora\n", "F = fft(y2[:,0]) \n", "\n", "# izračunajmo frekvencije\n", "w = fftfreq(N, dt)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots(figsize=(9,3))\n", "ax.plot(w, abs(F));" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Kako je signal realan, spektar je simetričan. Stoga nam je dosta nacrtati pozitivne frekvencije." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "indeksi = where(w > 0)\n", "w_pos = w[indeksi]\n", "F_pos = F[indeksi]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nREREJK7+Pz+noUtHA/TvAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots(figsize=(9,3))\n", "ax.plot(w_pos, abs(F_pos))\n", "ax.set_xlim(0, 5);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Linearna algebra\n", "\n", "Detaljna dokumentacija: [http://docs.scipy.org/doc/scipy/reference/linalg.html](http://docs.scipy.org/doc/scipy/reference/linalg.html)\n", "\n", "Nećemo prolaziti kroz sve funkcije." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Sustavi linearnih jednadžbi\n", "\n", "$A x = b$" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "A = array([[1,2,-1], [4,5,6], [7,8,9]])\n", "b = array([1,2,3])" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([-0.33333333, 0.66666667, 0. ])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = solve(A, b)\n", "x" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 0.00000000e+00, -2.22044605e-16, 0.00000000e+00])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# provjera\n", "dot(A, x) - b" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "$A X = B$" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "A = rand(3,3)\n", "B = rand(3,3)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.5199847 , 1.33508075, 0.98631147],\n", " [-0.85868255, -2.24599046, 0.53620857],\n", " [ 0.79516259, 0.18409863, -0.79258861]])" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = solve(A, B)\n", "X" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "4.1910000110727263e-16" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# provjera\n", "norm(dot(A, X) - B)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Svojstveni problem" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\\begin{equation}\\displaystyle A v = \\lambda v\\end{equation}" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 1.16326497+0.j , -0.12471967+0.21365995j,\n", " -0.12471967-0.21365995j])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals = eigvals(A)\n", "evals" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "evals, evecs = eig(A)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 1.16326497+0.j , -0.12471967+0.21365995j,\n", " -0.12471967-0.21365995j])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.57615104+0.j , 0.31100815-0.18792585j,\n", " 0.31100815+0.18792585j],\n", " [ 0.55783043+0.j , -0.76806662+0.j , -0.76806662-0.j ],\n", " [ 0.59739031+0.j , -0.28786918+0.44177235j,\n", " -0.28786918-0.44177235j]])" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evecs" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Svojstveni vektori su stupci u `evecs`:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "6.6772208449746893e-16" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 1\n", "\n", "norm(dot(A, evecs[:,n]) - evals[n] * evecs[:,n])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "To nije sve, postoje i specijalizirane funkcije, kao npr. `eigh` za hermitske matrice" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Matrične operacije" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.18224249, 2.32018496, -1.51321686],\n", " [-0.76564105, -4.50039798, 5.74351864],\n", " [ 2.03427742, -2.36102176, 1.10236963]])" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# inverz\n", "inv(A)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "0.07119829516433468" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# determinanta\n", "det(A)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(1.4186446775313915, 1.2152976994987217)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# razne norme\n", "norm(A, ord=2), norm(A, ord=Inf)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Rijetke matrice\n", "\n", "Više informacija na [http://en.wikipedia.org/wiki/Sparse_matrix](http://en.wikipedia.org/wiki/Sparse_matrix)\n", "\n", "Postoji više formata rijetkih matrica, mi nećemo ulaziti u detalje." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy.sparse import *" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0],\n", " [0, 3, 0, 0],\n", " [0, 1, 1, 0],\n", " [1, 0, 0, 1]])" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# gusta matrica\n", "M = array([[1,0,0,0], [0,3,0,0], [0,1,1,0], [1,0,0,1]]); M" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# pretvorimo je u rijetku matricu\n", "A = csr_matrix(M); A" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[1, 0, 0, 0],\n", " [0, 3, 0, 0],\n", " [0, 1, 1, 0],\n", " [1, 0, 0, 1]], dtype=int64)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# vratimo natrag\n", "A.todense()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Pametniji način kreiranja rijetke matrice." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in LInked List format>" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = lil_matrix((4,4)) # prazna 4x4 rijetka matrica\n", "A[0,0] = 1\n", "A[1,1] = 3\n", "A[2,2] = A[2,1] = 1\n", "A[3,3] = A[3,0] = 1\n", "A" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1., 0., 0., 0.],\n", " [ 0., 3., 0., 0.],\n", " [ 0., 1., 1., 0.],\n", " [ 1., 0., 0., 1.]])" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense()" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# konvertiranje\n", "A = csr_matrix(A); A" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Column format>" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = csc_matrix(A); A" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1., 0., 0., 0.],\n", " [ 0., 3., 0., 0.],\n", " [ 0., 1., 1., 0.],\n", " [ 1., 0., 0., 1.]])" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1., 0., 0., 0.],\n", " [ 0., 9., 0., 0.],\n", " [ 0., 4., 1., 0.],\n", " [ 2., 0., 0., 1.]])" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(A * A).todense()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1., 0., 0., 0.],\n", " [ 0., 9., 0., 0.],\n", " [ 0., 4., 1., 0.],\n", " [ 2., 0., 0., 1.]])" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(A @ A).todense()" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Column format>" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dot(A,A)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "array([[1],\n", " [2],\n", " [3],\n", " [4]])" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = array([1,2,3,4])[:,newaxis]; v" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Vektor `v` smo mogli konstruirati i drugačije (vidjeli smo primjere u predavanju o NumPy-ju), no uvijek trebamo doći do dvodimenzionalnog niza. Za razliku od MATLAB-a u kojemu su svi nizovi 2D, u NumPy-ju 1D niz nije isto što i matrica $n\\times 1$ ili $1\\times n$.\n", "Npr. jedna mogućnost je\n", "```\n", "v = array([[1,2,3,4]]).T\n", "```" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 1.],\n", " [ 6.],\n", " [ 5.],\n", " [ 5.]])" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# rijetka matrica puta vektor\n", "A * v" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "matrix([[ 1.],\n", " [ 6.],\n", " [ 5.],\n", " [ 5.]])" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense() * v" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Optimizacija\n", "\n", "Više na [http://scipy-lectures.github.com/advanced/mathematical_optimization/index.html](http://scipy-lectures.github.com/advanced/mathematical_optimization/index.html)\n", "\n", "Modul je `optimize`:" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy import optimize" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Nalaženje minimuma" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "def f(x):\n", " return 4*x**3 + (x-2)**2 + x**4" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots()\n", "x = linspace(-5, 3, 100)\n", "ax.plot(x, f(x));" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: -3.506641\n", " Iterations: 5\n", " Function evaluations: 24\n", " Gradient evaluations: 8\n" ] }, { "data": { "text/plain": [ "array([-2.67298151])" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_min = optimize.fmin_bfgs(f, -2)\n", "x_min" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 2.804988\n", " Iterations: 3\n", " Function evaluations: 15\n", " Gradient evaluations: 5\n" ] }, { "data": { "text/plain": [ "array([ 0.46961745])" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fmin_bfgs(f, 0.5)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "0.46961743402759754" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brent(f)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "-2.6729822917513886" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fminbound(f, -4, 2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Nalaženje rješenja jednadžbi\n", "\n", "Problem oblika $f(x) = 0$ se rješava `fsolve` funkcijom. " ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "omega_c = 3.0\n", "def f(omega):\n", " return tan(2*pi*omega) - omega_c/omega" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nQRURERGRAv8fNe6XDPBTchgAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "np.seterr(divide='ignore')\n", "fig, ax = subplots(figsize=(10,4))\n", "x = linspace(0, 3, 1000)\n", "y = f(x)\n", "maska = where(abs(y) > 50)\n", "x[maska] = y[maska] = NaN # da se riješimo asimptote\n", "ax.plot(x, y)\n", "ax.plot([0, 3], [0, 0], 'k')\n", "ax.set_ylim(-5,5);" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "array([ 0.23743014])" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 0.1)" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 0.71286972])" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 0.6)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "array([ 1.18990285])" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 1.1)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Interpolacija\n", "\n", "Funkcija `interp1d`, za dane nizove $x$ i $y$ koordinata vraća objekt koji se ponaša kao funkcija." ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy.interpolate import *" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "n = arange(0, 10) \n", "x = linspace(0, 9, 100)\n", "\n", "y_meas = sin(n) + 0.1 * randn(len(n)) # ubacujemo malo šuma\n", "y_real = sin(x)\n", "\n", "linear_interpolation = interp1d(n, y_meas)\n", "y_interp1 = linear_interpolation(x)\n", "\n", "cubic_interpolation = interp1d(n, y_meas, kind='cubic')\n", "y_interp2 = cubic_interpolation(x)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nyKFcpqZph+9va19kn7lVrhxo2uNbQc0z5s6di6Oj4z/aZsuWLdm9ezdNmzb9R9tVXi+Ojo5MmTIF\ngLnD5zLIZRDzDs1jTs0M8PeHL76A/fsNHKXyjxDhetu2VD1/ng8A42+bcS7+HPN851G0UFFDR6co\nr40X7fkaCWwVETtg6/3XT5IsIm73N98X3Geu5LQSyouskBITE4O9vT09evTAwcGBLl26kJSUBMDW\nrVtxd3fHxcWF999/n9TUVAB+++037O3t8fDwYPXq1fq2IiMj8fb2xt3dHW9vb06ePAlAZmYmw4cP\nx8XFBVdXV3788UcAmjRpQlRU1GMxjRw5EkdHR1xdXRk+fDgA69ato06dOri7u9OsWTNuPOGgjx07\nRu3atXFzc8PV1ZXTp08TExODs7OzvszEiRMJCQnR73/YsGF4eXnh4ODA/v378fPzw87Oji+//FJf\nZ/LkyTg7O+Ps7MzUqVOznbfAwECqV69Ojx492LJlC/Xr18fOzo7IyMjnviZK/ujXrx9+fn4kJCQQ\nNT6KZrbNGPLrUCLH9oPy5XXTTyQmGjpM5QUlDhtGuS1b+AIwGdOH1ddW09+zP+/YvmPo0BTl9SIi\nz70BJ4Hy938vD5zMoVxiXtv29PSUR0VHRz/2Xk7+t9jF49vzOn/+vACya9cuERHp06ePTJgwQZKT\nk8Xa2lpOnjwpIiI9e/aUKVOm6N8/deqUZGVlib+/v7Rt21ZEROLj4yU9PV1ERDZv3ix+fn4iIjJ9\n+nTx8/PTfxYXFyciIo0bN5b9+/dniycuLk6qV68uWVlZIiJy+/ZtERG5deuW/r05c+bIJ5988tix\nDBkyRBYvXiwiIqmpqZKUlCTnz58XJycnfZkJEybIV199pd//Z599JiIiU6dOlfLly8vVq1clJSVF\nKlasKDdv3pSoqChxdnaWxMREuXv3rjg6OsrBgwfl/PnzYmxsLH/++adkZmaKh4eH9OnTR7KysiQi\nIkI6dOjw3Nckt/Ly3VGeLC4uTipVqiSA9B/WX6pMrSI2k23k7y1rRYyMRPr0MXSIygvInD5dBGQW\nSIMm9cX+R3uxmWwj8Snxhg5NUQoEIEpymeO8aM9XWRG5dj+JuwaUyaGcmaZpUZqm7dU0reML7tOg\nbGxsqF+/PgABAQHs2rWLkydPYmtrS/Xq1QHo3bs3O3bs4MSJE9ja2mJnZ4emaQQEBOjbiY+Px9/f\n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\nYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots(figsize=(10,4))\n", "ax.plot(n, y_meas, 'bs', label='podaci sa šumom')\n", "ax.plot(x, y_real, 'k', lw=2, label='originalna funkcija')\n", "ax.plot(x, y_interp1, 'r', label='linearna interpolacija')\n", "ax.plot(x, y_interp2, 'g', label='kubična interpolacija')\n", "ax.legend(loc=3);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Statistika\n", "\n", "Više na [http://docs.scipy.org/doc/scipy/reference/stats.html](http://docs.scipy.org/doc/scipy/reference/stats.html).\n", "\n", "Mi ćemo kasnije raditi s moćnijim paketom `pandas`." ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "from scipy import stats" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# slučajna varijabla s Poissionovom distribucijom\n", "\n", "X = stats.poisson(3.5)" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\nCjdAhbES0AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = arange(0,15)\n", "\n", "fig, axes = subplots(2,1, sharex=True)\n", "\n", "# kumulativna distribucija (CDF)\n", "axes[0].step(n, X.cdf(n))\n", "\n", "# histogram 1000 slučajnih realizacija od X\n", "axes[1].hist(X.rvs(size=1000));" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "# normalna distribucija\n", "Y = stats.norm()" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = linspace(-5,5,100)\n", "fig, axes = subplots(3,1, sharex=True)\n", "# PDF\n", "axes[0].plot(x, Y.pdf(x))\n", "# CDF\n", "axes[1].plot(x, Y.cdf(x));\n", "# histogram\n", "axes[2].hist(Y.rvs(size=1000), bins=50);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Osnovna statistika:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(3.5, 1.8708286933869707, 3.5)" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.mean(), X.std(), X.var()" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0, 1.0)" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y.mean(), Y.std(), Y.var()" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "
Python verzija3.5.3
kompajlerGCC 4.8.2 20140120 (Red Hat 4.8.2-15)
sustavLinux
broj CPU-a8
interpreter64bit
numpy verzija1.11.3
scipy verzija0.19.0
matplotlib verzija2.0.0
" ], "text/plain": [ "" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from verzije import *\n", "from IPython.display import HTML\n", "HTML(print_sysinfo()+info_packages('numpy,scipy,matplotlib'))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Zadaci za vježbu\n", "\n", "- Konstruirajte $1000\\times 1000$ matricu tipa `lil_matrix`, konvertirajte je u `CSR` format i riješite $A x = b$ za neki $b$.\n", "- Učitajte matricu [ODEP400A](http://math.nist.gov/MatrixMarket/data/NEP/mvmode/odep400a.html) te izračunajte 100 njenih svojstvenih vrijednosti.\n", "- Zadana je funkcija $f(x,y)=\\mathrm{exp}(-1/(0.1x^2 + y^2)$. Ta funkcija ima minimum u $(0,0)$. Krenuvši od početne točke $(1, 1)$, probajte doći $10^{-8}$ blizu minimuma koristeći funkcije za optimizaciju. \n", "- Riješite [Lotka-Volterrin sustav ODJ](http://en.wikipedia.org/wiki/Lotka%E2%80%93Volterra_equation) za različite parametre $\\alpha$, $\\beta$, $\\gamma$, $\\delta$.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Riješite sljedeći problem:\n", "\\begin{gather} \n", "\\min x_1 x_4 (x_1+x_2+x_3)+x_3 \\\\\n", "x_1x_2x_3x_4 \\ge 25 \\\\\n", "x_1^2 + x_2^2 + x_3^2 +x_4^2 =40 \\\\\n", "1 \\le x_1,x_2,x_3,x_4 \\le 5\n", "\\end{gather}\n", "Za početnu točku uzmite $x_0 =(1,5,5,1)$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Slika [moonlanding.png](http://scipy-lectures.github.io/_images/moonlanding.png) je puna šuma. Zadaća je očistiti sliku koristeći Fourierovu transformaciju.\n", "\n", "- Učitajte sliku s `pylab.imread()`.\n", "- Nađite i iskoristite 2-D FFT funkciju iz `scipy.fftpack` i nacrtajte spektar slike.\n", "- Spektar se sastoji od komponenti s viskom i niskom frekvencijom. Šum je smješten u dijelu spektra s visokom frekvencijom, pa probajte neke od tih komponenti staviti na nulu.\n", "- Koristite inverznu Fourierovu transformaciju da pogledate da li ste napravili dobar posao." ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3 (Anaconda)", "language": "python", "name": "anaconda3" }, "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.3" }, "name": "Scipy.ipynb" }, "nbformat": 4, "nbformat_minor": 0 }