{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Algoritmusok Python nyelven\n", "\n", "## 6. Előadás: Numpy\n", "\n", "### 2020. március 12." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tudományos csomagok (Python Scientific stack)\n", "| csomag | |\n", "| --- | --- |\n", "| NumPy | Hatékony N-dimenziós tömb |\n", "| SciPy | Numerikus számítások |\n", "| Matplotlib | Grafikonok és rajzok |\n", "| IPython (Jupyter) | Interaktív notebook |\n", "| SymPy | Szimbolikus számítások |\n", "| Pandas | Adatbányászat |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Numpy\n", "\n", "\n", "A Python Scientific stack (és sok más) alap modulja. \n", "\n", "https://numpy.org/\n", "\n", "* lineáris algebra, Fourier transzformáció, random számok,\n", "* könnyen használható mátrixok, tömbök\n", "* erősen opitmalizált\n", "* C/C++/Fortran integráció." ] }, { "cell_type": "code", "execution_count": 223, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importálási konvenció: `import numpy as np` " ] }, { "cell_type": "code", "execution_count": 291, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# N-dimenziós tömbök\n", "\n", "A numpy központi objektuma az `ndarray` (_$n$-dimenziós tömb_)." ] }, { "cell_type": "code", "execution_count": 292, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 2],\n", " [3, 4],\n", " [5, 6]])" ] }, "execution_count": 292, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2], [3, 4], [5, 6]]) \n", "A" ] }, { "cell_type": "code", "execution_count": 293, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.ndarray" ] }, "execution_count": 293, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`A.shape` egy tuple a tömb dimenzióival, alakjával. " ] }, { "cell_type": "code", "execution_count": 294, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3, 2)" ] }, "execution_count": 294, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A listákkal ellentétben nem tárolhatunk benne bármit!\n", "A `dtype` megadja a tárolt elemek típusát" ] }, { "cell_type": "code", "execution_count": 295, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('int32')" ] }, "execution_count": 295, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.dtype" ] }, { "cell_type": "code", "execution_count": 298, "metadata": {}, "outputs": [], "source": [ "a=10**30 #Ez sima ügy\n", "#A[0,0]=10**30 #Ez túl nagy lenne\n" ] }, { "cell_type": "code", "execution_count": 299, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('float64')" ] }, "execution_count": 299, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([1.5, 2])\n", "A.dtype" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Az elemek elérése\n", "\n", "0-tól indexelünk, mint mindig. \n", "\n", "#### Egy sor:" ] }, { "cell_type": "code", "execution_count": 300, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([1, 2]), array([3, 4]))" ] }, "execution_count": 300, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2], [3, 4], [5, 6]])\n", "A[0], A[1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Egy oszlop:" ] }, { "cell_type": "code", "execution_count": 301, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 3, 5])" ] }, "execution_count": 301, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[:, 0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### egy elem:" ] }, { "cell_type": "code", "execution_count": 302, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(6, numpy.int32)" ] }, "execution_count": 302, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[2, 1], type(A[2, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### néhány sor vagy oszlop " ] }, { "cell_type": "code", "execution_count": 303, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 2],\n", " [3, 4]])" ] }, "execution_count": 303, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[:2] # vagy A[:2, :]" ] }, { "cell_type": "code", "execution_count": 304, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2],\n", " [4],\n", " [6]])" ] }, "execution_count": 304, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[:, 1:]" ] }, { "cell_type": "code", "execution_count": 305, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 2],\n", " [5, 6]])" ] }, "execution_count": 305, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[::2]" ] }, { "cell_type": "code", "execution_count": 306, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((1, 2, 3), 3)" ] }, "execution_count": 306, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B = np.array([[[1, 2, 3],[4, 5, 6]]])\n", "B.shape, B.ndim" ] }, { "cell_type": "code", "execution_count": 307, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[1, 2, 3],\n", " [4, 5, 6]]])" ] }, "execution_count": 307, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B" ] }, { "cell_type": "code", "execution_count": 308, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2, 3)" ] }, "execution_count": 308, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B[0].shape" ] }, { "cell_type": "code", "execution_count": 309, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([4, 5, 6]), (3,))" ] }, "execution_count": 309, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B[0, 1], B[0, 1].shape" ] }, { "cell_type": "code", "execution_count": 310, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6" ] }, "execution_count": 310, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B[0, 1, 2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Operációk\n", "\n", "## Elemenkénti műveletek\n", "\n", "Az aritmetikai műveletek itt is használhatóak, elemenként hatnak." ] }, { "cell_type": "code", "execution_count": 311, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[False False]\n", " [ True True]]\n", "bool\n" ] } ], "source": [ "A = np.array([[1, 1], [2, 2]])\n", "P = A >= 2\n", "print(P)\n", "print(P.dtype)" ] }, { "cell_type": "code", "execution_count": 312, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 2],\n", " [4, 4]])" ] }, "execution_count": 312, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A + A" ] }, { "cell_type": "code", "execution_count": 313, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1, 1],\n", " [4, 4]])" ] }, "execution_count": 313, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A * A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A leggyakrabban használt matematikai fügvények is elérhetőek és elemenként hatnak." ] }, { "cell_type": "code", "execution_count": 314, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2.71828183, 2.71828183],\n", " [7.3890561 , 7.3890561 ]])" ] }, "execution_count": 314, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.exp(A)" ] }, { "cell_type": "code", "execution_count": 315, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.5 , 0.5 ],\n", " [0.8660254, 0.8660254]])" ] }, "execution_count": 315, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sin(A*np.pi/6)" ] }, { "cell_type": "code", "execution_count": 316, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 2],\n", " [4, 4]], dtype=int32)" ] }, "execution_count": 316, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2**A" ] }, { "cell_type": "code", "execution_count": 317, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1. , 1. ],\n", " [0.5, 0.5]])" ] }, "execution_count": 317, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/A" ] }, { "cell_type": "code", "execution_count": 318, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 0, 1, 0], dtype=int32)" ] }, "execution_count": 318, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=np.array([1,1,1,0]) & np.array([1,0,1,1]) \n", "A" ] }, { "cell_type": "code", "execution_count": 319, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1], dtype=int32)" ] }, "execution_count": 319, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A=np.array([1,1,1,0]) | np.array([1,0,1,1]) \n", "A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matrix műveletek\n", "\n", "A `dot` a szokásos mátrix szorzás " ] }, { "cell_type": "code", "execution_count": 350, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 7, 10],\n", " [15, 22]])" ] }, "execution_count": 350, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2], [3, 4]])\n", "A.dot(A)" ] }, { "cell_type": "code", "execution_count": 351, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 7, 10],\n", " [15, 22]])" ] }, "execution_count": 351, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A @ A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A belső dimenzióknak passzolniuk kell" ] }, { "cell_type": "code", "execution_count": 354, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(2, 2) (2, 3)\n" ] }, { "data": { "text/plain": [ "array([[ 9, 12, 15],\n", " [19, 26, 33]])" ] }, "execution_count": 354, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B = np.array([[1, 2, 3], [4, 5, 6]])\n", "print(A.shape, B.shape)\n", "A.dot(B)\n", "#B.dot(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tudunk invertálni, de mint mindig, figyelni kell a kerkítési hibákra." ] }, { "cell_type": "code", "execution_count": 355, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-2. 1. ]\n", " [ 1.5 -0.5]]\n" ] }, { "data": { "text/plain": [ "array([[1.00000000e+00, 0.00000000e+00],\n", " [1.11022302e-16, 1.00000000e+00]])" ] }, "execution_count": 355, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_inv = np.linalg.inv(A)\n", "print(A_inv)\n", "\n", "A_inv.dot(A)" ] }, { "cell_type": "code", "execution_count": 357, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0.],\n", " [0., 1.]])" ] }, "execution_count": 357, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.round(A_inv.dot(A),5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nem négyzetes mátrixokra pseudo-inverzet is tuduni számolni. " ] }, { "cell_type": "code", "execution_count": 358, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 2., 3.],\n", " [4., 5., 6.]])" ] }, "execution_count": 358, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 2, 3], [4, 5, 6]])\n", "A_pinv = np.linalg.pinv(A)\n", "\n", "A.dot(A_pinv).dot(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(Van egy `matrix` osztály is, ahol a `*` használható mátrix szorzásra. De folyamatban van a numpyból való eltávolítása, úgyhogy ne használjátok.)" ] }, { "cell_type": "code", "execution_count": 359, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1 4]\n", " [ 9 16]]\n", "[[ 7 10]\n", " [15 22]]\n" ] } ], "source": [ "M = np.matrix([[1, 2], [3, 4]])\n", "print(np.multiply(M, M)) # elemenként\n", "print(M * M) # szokásos mátrix szorzás" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Casting\n", "\n", "A C nyelv típusai elérhetőek `numpy`-ban." ] }, { "cell_type": "code", "execution_count": 360, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "float64\n" ] }, { "data": { "text/plain": [ "array([[1, 1],\n", " [1, 0]])" ] }, "execution_count": 360, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P = np.array([[1.2, 1], [1.5, 0]])\n", "print(P.dtype)\n", "P.astype(int)" ] }, { "cell_type": "code", "execution_count": 361, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[4294967295, 4294967295],\n", " [4294967295, 0]], dtype=uint32)" ] }, "execution_count": 361, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(-P.astype(int)).astype(\"uint32\")" ] }, { "cell_type": "code", "execution_count": 362, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 2.],\n", " [3., 4.]], dtype=float32)" ] }, "execution_count": 362, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array([[1, 2], [3, 4]], dtype=\"float32\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A stringek számmá konvertálhatóak:" ] }, { "cell_type": "code", "execution_count": 363, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-10.0, -10.0)" ] }, "execution_count": 363, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.float32('-10'), np.float32(-10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Megadhatjuk a `dtype`-ot amikor létrehozzuk a tömböt." ] }, { "cell_type": "code", "execution_count": 364, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([10., 20.], dtype=float32)" ] }, "execution_count": 364, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(['10', '20'], dtype=\"float32\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### `np.datetime64`\n", "Időpontok tárolására külön adattípus van. " ] }, { "cell_type": "code", "execution_count": 365, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.datetime64('2018-03-10')" ] }, "execution_count": 365, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.datetime64(\"2018-03-10\")" ] }, { "cell_type": "code", "execution_count": 366, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.timedelta64(87,'D')" ] }, "execution_count": 366, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.datetime64(\"2018-03-10\") - np.datetime64(\"2017-12-13\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### String tömbök" ] }, { "cell_type": "code", "execution_count": 368, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['körte' 'alma']\n", "(2,) \n" ] } ], "source": [ "T = np.array(['körte', 'alma'])\n", "print(T)\n", "print(T.shape, T.dtype, type(T))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Fix hosszúságú karakter tömböket tárol!!**" ] }, { "cell_type": "code", "execution_count": 369, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['körte', 'banan'], dtype=' A.mean()]" ] }, { "cell_type": "code", "execution_count": 472, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[False, True, True],\n", " [ True, True, True],\n", " [ True, False, False],\n", " [False, False, False]])" ] }, "execution_count": 472, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A > A.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`np.where` visszatér azokkal a tömbökkel, amik a speckó indexeléshez kellenek, ha a feltételnek megfelelő elemeket akarjuk:" ] }, { "cell_type": "code", "execution_count": 473, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([0, 0, 1, 1, 1, 2], dtype=int64),\n", " array([1, 2, 0, 1, 2, 0], dtype=int64))" ] }, "execution_count": 473, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.where(A > A.mean())" ] }, { "cell_type": "code", "execution_count": 474, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.55808354, 0.83089616, 0.77861077, 0.83097402, 0.87254137,\n", " 0.69566424])" ] }, "execution_count": 474, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A[np.where(A > A.mean())]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lineáris algebra" ] }, { "cell_type": "code", "execution_count": 475, "metadata": {}, "outputs": [], "source": [ "a = np.array([[1.0, 2.0], [3.0, 4.0]])" ] }, { "cell_type": "code", "execution_count": 476, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 2.]\n", " [3. 4.]]\n" ] } ], "source": [ "print(a)" ] }, { "cell_type": "code", "execution_count": 477, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 3.],\n", " [2., 4.]])" ] }, "execution_count": 477, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a.transpose()" ] }, { "cell_type": "code", "execution_count": 478, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-2. , 1. ],\n", " [ 1.5, -0.5]])" ] }, "execution_count": 478, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.inv(a)" ] }, { "cell_type": "code", "execution_count": 479, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1., 0.],\n", " [0., 1.]])" ] }, "execution_count": 479, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u = np.eye(2) \n", "u" ] }, { "cell_type": "code", "execution_count": 480, "metadata": {}, "outputs": [], "source": [ "j = np.array([[0.0, -1.0], [1.0, 0.0]])" ] }, { "cell_type": "code", "execution_count": 481, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-1., 0.],\n", " [ 0., -1.]])" ] }, "execution_count": 481, "metadata": {}, "output_type": "execute_result" } ], "source": [ "j @ j # matrix szorzás" ] }, { "cell_type": "code", "execution_count": 482, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.0" ] }, "execution_count": 482, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.trace(u) # mátrix nyoma" ] }, { "cell_type": "code", "execution_count": 483, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-3.],\n", " [ 4.]])" ] }, "execution_count": 483, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = np.array([[5.], [7.]])\n", "x=np.linalg.solve(a, y)\n", "x" ] }, { "cell_type": "code", "execution_count": 484, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[5.],\n", " [7.]])" ] }, "execution_count": 484, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a @ x" ] }, { "cell_type": "code", "execution_count": 485, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([0.+1.j, 0.-1.j]),\n", " array([[0.70710678+0.j , 0.70710678-0.j ],\n", " [0. -0.70710678j, 0. +0.70710678j]]))" ] }, "execution_count": 485, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.eig(j)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mandelbrot halmaz\n", "\n", "A Mandelbrot-halmaz azon $c$ komplex számokból áll, melyekre az alábbi $x_{n}$ rekurzív sorozat:\n", "\n", "$x_{1}=c$\n", "\n", "$x_{n+1}:=(x_{n})^{2}+c$\n", "\n", "nem tart végtelenbe, azaz abszolút értékben (hosszára nézve) korlátos." ] }, { "cell_type": "code", "execution_count": 489, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt #rajzoláshoz\n", "\n", "def mandelbrot( h,w, maxit=20 ):\n", " #y,x = np.ogrid[ -1.4:1.4:h*1j, -2:0.8:w*1j ]\n", " c=(np.linspace(-1.4,1.4,h))[:, None]*1j + (np.linspace(-2,0.8,w))[None, :]\n", " z = c\n", " divtime = maxit + np.zeros(z.shape, dtype=int)\n", " for i in range(maxit):\n", " z = z**2 - z + c\n", " diverge = z*np.conj(z) > 2**2 # Ki divergál? \n", " div_now = diverge & (divtime==maxit) # Ki divergál ebben a lépésben?\n", " divtime[div_now] = i # felírjuk, hogy mikor divergált\n", " z[diverge] = 2 # ne divárgáljunk túl sokat\n", " return divtime\n", "\n", "# a többi a rajzoláshoz kell, most nem fontos\n", "fig = plt.figure(figsize = (10,10)) \n", "ax = fig.add_subplot(111)\n", "ax.imshow(mandelbrot(1000,1000), interpolation='none')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }