{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "anaconda-cloud": {}, "hide_input": false, "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" }, "name": "analitikus.ipynb", "colab": { "name": "kl_py_adatelemzes_sympy.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "Vse69Ch3ZAY5", "colab_type": "text" }, "source": [ "# Ismerkedés a [sympy](www.sympy.org) modullal\n", "\n", "Számos kereskedelmi ([Mathematica](https://www.wolfram.com/mathematica/), [Maple](http://www.maplesoft.com/products/maple/)) számítógépes algebrai csomag létezik már, melyek bonyolult analitikus formulamanipulációs készséggel rendelkeznek. A sympy csomag egy ingyenes Python-könyvtár, ami lassan használható alternatívát kínál kereskedelmi vetélytársaival szemben. Ebben a notebookban néhány sympy függvénnyel fogunk megismerkedni. **Fontos** megjegyezni hogy mivel van pár, a `sympy` függvényeihez hasonló nevű függvény a `pylab` parancs által importált modulokban, ezért a kellemetlenségek elkerülése végett célszerű mindig külön notebookot indítani a `sympy`-os problémák megoldásánál!" ] }, { "cell_type": "code", "metadata": { "id": "YPguq0UQZAY7", "colab_type": "code", "colab": {} }, "source": [ "from sympy import * # a sympy csomag rutinjainak betöltése\n", "init_printing() # szép kimenet " ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "bm17YQSrZAY-", "colab_type": "text" }, "source": [ "## Változók, egyenletek és egyenletrendszerek megoldása\n", "Ahhoz, hogy változókat szimbolikusan is manipulálni tudjunk, meg kell mondanunk a Pythonnak, hogy ezentúl tekintsen a változónkra mint valamilyen matematikai formulában előforduló szimbólumra. Ezt a legegyszerűbben így tehetjük meg:" ] }, { "cell_type": "code", "metadata": { "id": "cb4cMMcOZAY-", "colab_type": "code", "colab": {} }, "source": [ "x=symbols('x')" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "eb6x7adiZAZA", "colab_type": "text" }, "source": [ "Ezek után az $x$ változót használhatjuk szimbolikus számításokra. Oldjuk meg például a következő egyszerű egyenletet: $$3x=5$$\n", "Ezt a `solve` függvény segítségével tehetjük meg. A `solve` függvény első bementete a megoldandó egyenlet 0-ra rendezve, a második pedig a keresett változó:" ] }, { "cell_type": "code", "metadata": { "id": "YgxuQkmAZAZB", "colab_type": "code", "colab": {}, "outputId": "dbf5bbe8-480a-4bb0-f5b4-e7626e98059a" }, "source": [ "solve(3*x-5,x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABYAAAAgCAYAAAAWl4iLAAAABHNCSVQICAgIfAhkiAAAAYlJREFU\nSInt1k9LVkEUBvCffxDTAnciuMgWgUgtIkI0wZW41WWrwC/Qol3QRnf6BRKsPkGBunLjS4JKgSCU\nCC5soWK0iSIKKl8XM9GL3NuMvrVIemCYc+49zzPnnnOZGf4SGgqePUBvtJewjX0coBOXsX6Ccw83\no/0Cs0WLVdARxwU8RRU/sIarBZz2GH89xmsu+ZIPNfZbdEX7sCT+c5w7fj4oEz6JMsFSNGbEtGMC\nd/AEfTnCORk/E5pVxfvo9+Lod6ScjF9FUdgRmnctRUoJ9wuNbI3+pTh/q1d4D9P4Gv1BrGIrJZyq\n8R42cB9NQhnGUqI5wrAQx6mQ07wz4d8TTtW4mnhP8Q6ZFC4k5eD81RiG0I02DOMxllOknIyfowVz\nmMciLqZIORkPY7fGb5HR1Bzh1zX2OCbx6U8Iwy2M4Atmcgi5f8VLTMV5RUaNczb6d+iJfgU3MFqv\n8He8ES4rcEU4PTZTwkXdrfh1Yszjo3ADOsJtPBJuSLV4iAHhgrOLu6mF/6N+HAMDkEMrU1BzUQAA\nAABJRU5ErkJggg==\n", "text/latex": "$$\\left [ \\frac{5}{3}\\right ]$$", "text/plain": [ "[5/3]" ] }, "metadata": { "tags": [] }, "execution_count": 3 } ] }, { "cell_type": "markdown", "metadata": { "id": "Bl_5KJFMZAZE", "colab_type": "text" }, "source": [ "Definiáljunk náhány további változót is!" ] }, { "cell_type": "code", "metadata": { "id": "lkZtZmQ8ZAZE", "colab_type": "code", "colab": {} }, "source": [ "y,z,a,b,c=symbols('y,z,a,b,c') # Így definiálunk egyszerre több változót" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "De7v6IAPZAZG", "colab_type": "text" }, "source": [ "Oldjuk meg most az $$a x+b=y$$ egyenletet $x$ -re!" ] }, { "cell_type": "code", "metadata": { "id": "2FmjSqLXZAZH", "colab_type": "code", "colab": {}, "outputId": "21228715-1f2d-4d09-a6be-ff7d2a0f8647" }, "source": [ "solve(a*x+b-y,x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAG8AAAAZCAYAAAA/vnC8AAAABHNCSVQICAgIfAhkiAAABDhJREFU\naIHt2musXFMUwPGf3lbRJm3RkN5oq0pQ0ajoB9p7vSuIBPUqgpQQPiiK+GQSfKln4pmQtEiUtJFG\nI0I/GKqE0qpHBCUtaSL6QkqpUh/WjJ7OnDM9p3NntDH/5Obus/Y+e+1z9lprr73P0GGPZa8UWQlT\nsB4bcWU7B/Q/4QK8XKD9HeiplAfj5KyGpUaVHZrmSCxo4v5ytdBvF24eiSuaUJ6XHnyIHzG3DfqK\n0oVHsF/B+6Zp4fOUZHveEDyPAa1SXsO+2IoZTfTRyrEegecK3rNMPNeuUq4WinrevXgYfzahvAjH\nCQt/q4k+nkB33wynjq/wrfx5wUR8js19obzI5I3BUcJy2kUvfsKKJvoYoLXe9xhuF0a2My7HC32l\nuMjk3SRCZjvpxWL83Wa9RViHNThlJ+26Km0W9ZXiIpN3Nt7pK8U56I+T8D0erPwtwrg26B4jPOpV\nkWAkuQ0v1siW4Lyd9HmqMMStDernYxaeFknh4vxDDkrqE5Zuse9rJxOxDQttD3u34gvp+9Ms5mB0\nQd1PYm/cjE9q6lbgpRrZuWICGzFbGGMa04UHj65cd+NXLE9pW64W8nreaJGyt5NecUhwie0J0iqx\nTzq6hXonCYvfgrNEUlJlKI5Rn0Ctx+EN+txHJF/vptSNx1Mio15Vka0Rz/5mo4H2b1SZ4CD8nKPd\neGHpeT1jOa7JqKuud78lZIdU/g9Kaf9sRX8tI4UXb0mpm46PamQrsVRY/5mYmqibLAy+dvI2iG1U\nFufgNRFJarkPm+zozaMq+ssN+kylpD5sXizdalrJBrG+JJkr1oxhBfqZo3jYhFuEwQ5MyGZhrXrj\nHIdfGvQ1X3hsLUPF89SG4avwV6W+lnK1kDdsrlXshTXL8Iq+pQlZF04XScvGNoxhighbfyRkPXhb\nvQcNk72sDBHe/1lK3VjxXO/VyHvxsdgmHZo1wLyTtwYH5GzbF2wSL+iHhGwq9sfdbRrDKHyZuB6E\nCdIPDIaLrDiNC2UfQleXou8SsoE4LaGnNvr8S97J+1q48Yic7ZtlM94QhwJE/H8UM/FBm8awWhhL\nlVki602bvBPwfkY/l8o+y1wpPGxM5bpLbFEG4xscKJaPVPImLNvEy5ysPj63iutwv1h/x+JavNIm\n3UT294x4mb/jWBGuP01pOwl3psgPFp60OkPHNlwkDri7xXw8JML1dByPu4oMuiT9YPpEzCvS0W7C\nHLuWsCTpJ0L47JS6w9RnrFVm4MYmdddSblRZkv1VYYEY7J7EBMXPNufacXN+vvC+tL3c4yK5SWOJ\nCH19SblaKPpVYSbuUeyE479mmeJfQc6wfW0bIY7mrhZrf5KeSt+vp/QxVmSL6wrqzk3RyVspPrFc\n34Kx7E7cIJKmB8S6O039eWaXmLysbLClH13p/IallSzEZWLb0yy5f8PSoUOHDh0y+QezBMvlLMuW\n9AAAAABJRU5ErkJggg==\n", "text/latex": "$$\\left [ \\frac{1}{a} \\left(- b + y\\right)\\right ]$$", "text/plain": [ "⎡-b + y⎤\n", "⎢──────⎥\n", "⎣ a ⎦" ] }, "metadata": { "tags": [] }, "execution_count": 5 } ] }, { "cell_type": "markdown", "metadata": { "id": "xk42fGxjZAZJ", "colab_type": "text" }, "source": [ "Ha több megoldása is van az egyenletnek, akkor a `sympy` `solve` függvénye lehetőség szerint mind a kettőt megtalálja. Jól mutatja ezt a másodfokú egyenlet megoldásának \"megtalálása\":" ] }, { "cell_type": "code", "metadata": { "id": "oq6vmJi1ZAZK", "colab_type": "code", "colab": {}, "outputId": "4176865b-0850-4181-fca9-49a94f78d5e2" }, "source": [ "solve(a*x**2+b*x+c,x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/latex": "$$\\left [ \\frac{1}{2 a} \\left(- b + \\sqrt{- 4 a c + b^{2}}\\right), \\quad - \\frac{1}{2 a} \\left(b + \\sqrt{- 4 a c + b^{2}}\\right)\\right ]$$", "text/plain": [ "⎡ _____________ ⎛ _____________⎞ ⎤\n", "⎢ ╱ 2 ⎜ ╱ 2 ⎟ ⎥\n", "⎢-b + ╲╱ -4⋅a⋅c + b -⎝b + ╲╱ -4⋅a⋅c + b ⎠ ⎥\n", "⎢─────────────────────, ────────────────────────⎥\n", "⎣ 2⋅a 2⋅a ⎦" ] }, "metadata": { "tags": [] }, "execution_count": 6 } ] }, { "cell_type": "markdown", "metadata": { "id": "QeoLgpvrZAZM", "colab_type": "text" }, "source": [ "Természetesen a megoldás nem feltétlenül valós szám! A komplex egységgyököt a `sympy` `I`-vel jelöli:" ] }, { "cell_type": "code", "metadata": { "id": "5XJkeqRIZAZM", "colab_type": "code", "colab": {}, "outputId": "8aded48d-ebd6-4a6f-cbd0-95c51dfda660" }, "source": [ "I**2" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABsAAAASCAYAAACq26WdAAAABHNCSVQICAgIfAhkiAAAAIZJREFU\nOI3t1LENwkAMQNEHSoEyADtQRRRMQ8U+DMEaqTIARRTEFsyAQnEpUhApQXeRAvzGxcn+Z9kyCyfH\nbQ7RAVe07x6zSJIdznjgGanmKC4GOlvP+Yu/LAr9bSyE4a5G5tY4fSprsJ+SPJXvnVkK2aaLeYLa\nYIsSd+F6tMLpqnBMJf1RXtvTD+xjlzAcAAAAAElFTkSuQmCC\n", "text/latex": "$$-1$$", "text/plain": [ "-1" ] }, "metadata": { "tags": [] }, "execution_count": 7 } ] }, { "cell_type": "markdown", "metadata": { "id": "iJUqIn2jZAZO", "colab_type": "text" }, "source": [ "A `solve` függvényt egyenletrendszerek megoldására is lehet használni. Ilyenkor a nullára rendezett egyenleteket listába foglaljuk. A keresett változókat szintúgy. Oldjuk meg a következő egyenletrendszert az $x$ és $y$ változókra:\n", "$$y=x^2+ax-4b$$\n", "$$y=x-b$$\n", "Mivel $x$-ben másodrendű az első egyenlet, ezért két megoldáspárt várunk (A parabola legfeljebb két helyen metszi az egyenest...)" ] }, { "cell_type": "code", "metadata": { "id": "z6gH7VzpZAZP", "colab_type": "code", "colab": {}, "outputId": "933a7c55-4aec-4a79-c18d-a4333f6398fb" }, "source": [ "solve([x**2 + a*x - y, x - y - b],[x,y]) # Így kell egyenletrendszert megoldani\n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/latex": "$$\\left [ \\left ( - \\frac{a}{2} - \\frac{1}{2} \\sqrt{a^{2} - 2 a - 4 b + 1} + \\frac{1}{2}, \\quad - \\frac{a}{2} - b - \\frac{1}{2} \\sqrt{a^{2} - 2 a - 4 b + 1} + \\frac{1}{2}\\right ), \\quad \\left ( - \\frac{a}{2} + \\frac{1}{2} \\sqrt{a^{2} - 2 a - 4 b + 1} + \\frac{1}{2}, \\quad - \\frac{a}{2} - b + \\frac{1}{2} \\sqrt{a^{2} - 2 a - 4 b + 1} + \\frac{1}{2}\\right )\\right ]$$", "text/plain": [ "⎡⎛ ____________________ ____________________ ⎞ ⎛\n", "⎢⎜ ╱ 2 ╱ 2 ⎟ ⎜\n", "⎢⎜ a ╲╱ a - 2⋅a - 4⋅b + 1 1 a ╲╱ a - 2⋅a - 4⋅b + 1 1⎟ ⎜\n", "⎢⎜- ─ - ─────────────────────── + ─, - ─ - b - ─────────────────────── + ─⎟, ⎜\n", "⎣⎝ 2 2 2 2 2 2⎠ ⎝\n", "\n", " ____________________ ____________________ ⎞⎤\n", " ╱ 2 ╱ 2 ⎟⎥\n", " a ╲╱ a - 2⋅a - 4⋅b + 1 1 a ╲╱ a - 2⋅a - 4⋅b + 1 1⎟⎥\n", "- ─ + ─────────────────────── + ─, - ─ - b + ─────────────────────── + ─⎟⎥\n", " 2 2 2 2 2 2⎠⎦" ] }, "metadata": { "tags": [] }, "execution_count": 8 } ] }, { "cell_type": "markdown", "metadata": { "id": "Lil_owWqZAZR", "colab_type": "text" }, "source": [ "A `solve` függvény kimenete most egy lista, amelynek az elemei a megfelelő $(x,y)$ párok." ] }, { "cell_type": "markdown", "metadata": { "id": "F0KQzyOpZAZS", "colab_type": "text" }, "source": [ "## Függvényanalízis\n", "\n", "A `sympy` egyik legnagyobb előnye, hogy a `Python` nyelven belül lehetővé teszi egyszerűbb analízisbeli feladatok elvégzését. Alább a teljesség igénye nélkül összefoglalunk néhány egyszerű függvényt. Vizsgáljuk meg a következő két határértéket: $$\\lim_{x\\rightarrow 0}\\frac{\\sin x}{x}=? $$ illetve $$\\lim_{x\\rightarrow \\infty}\\frac{1}{1+\\mathrm{e}^{-x}}=? $$ A határértéket a `limit` függvény segítségével tudjuk meghatározni:" ] }, { "cell_type": "code", "metadata": { "id": "cnGi170EZAZS", "colab_type": "code", "colab": {}, "outputId": "583f7b2d-e4f0-4add-8b8d-d192e35a9fb7" }, "source": [ "limit(sin(x)/x,x,0)# sin(x)/x határértéke az x=0 pontban." ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAF5JREFU\nKJFjYKAC4GJgYLhEjEJTBgaG0wwMDP/RJViQ2JoMDAw9DAwMrxkYGP6S4owF2ExmIsWEUcVUV8wB\npblwaRRjYGDYycDAcIUBEnv/GSBRv5+BgSGaFBfQGAAA/84M5lOscPUAAAAASUVORK5CYII=\n", "text/latex": "$$1$$", "text/plain": [ "1" ] }, "metadata": { "tags": [] }, "execution_count": 9 } ] }, { "cell_type": "markdown", "metadata": { "id": "AI1SN6S3ZAZU", "colab_type": "text" }, "source": [ "Ha a végtelenben vagyunk kíváncsiak a határértékre, akkor azt az `oo`-szimbólummal tudjuk elérni!" ] }, { "cell_type": "code", "metadata": { "id": "dRYWB1zlZAZV", "colab_type": "code", "colab": {}, "outputId": "b3159745-9355-4b48-b801-75020256a553" }, "source": [ "limit(1/(1+exp(-x)),x,oo)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAASCAYAAACNdSR1AAAABHNCSVQICAgIfAhkiAAAAF5JREFU\nKJFjYKAC4GJgYLhEjEJTBgaG0wwMDP/RJViQ2JoMDAw9DAwMrxkYGP6S4owF2ExmIsWEUcVUV8wB\npblwaRRjYGDYycDAcIUBEnv/GSBRv5+BgSGaFBfQGAAA/84M5lOscPUAAAAASUVORK5CYII=\n", "text/latex": "$$1$$", "text/plain": [ "1" ] }, "metadata": { "tags": [] }, "execution_count": 10 } ] }, { "cell_type": "markdown", "metadata": { "id": "ZguchM6uZAZW", "colab_type": "text" }, "source": [ "Egy kifejezés deriváltjait a `diff` függvény segítségével tudjuk meghatározni. Például a $\\sin$ függvény első $x$-szerinti deriváltja:" ] }, { "cell_type": "code", "metadata": { "id": "d0M5CuKVZAZX", "colab_type": "code", "colab": {}, "outputId": "721dd66f-d612-4dd6-d536-5ec141af677c" }, "source": [ "diff(sin(x),x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC4AAAANCAYAAADWgVyvAAAABHNCSVQICAgIfAhkiAAAAjFJREFU\nSInt1EmIz2EYB/CPJbsYzBQag2xzsE5ZU5amXCQ5GHGwlZCyXS0pakS2Usph4mK5KTWluEjIQbhQ\nimwRjaVkH4f3+eX18x935bm8z/N+3+d9v++z8Y9Kp5I9CTvxFp/QGSdxK/Bp2ISX6Ir+2If72R2L\nMQNt6I5B8c7GwLugEa2ZTwNWoB3DsRbr4v6h2BXvfcPD8idm4j3mZHun8Dj0hUGwOsPr8QiTM/ty\n6d4mtGT2MvTJ7NE45lcQW/Ag+MzCD2wLbFWZdKcgdbG0fwjn4qHX2Fx2xBHcDn0p7qFvhvfGwcze\nWvI/HmcKOY8bodfiAAaGPduvIIHpUpr2VCBWEGrHggrYhsAaMASv8A6npbLKM9QbW0r+dSX7GfZ2\nwKMKa0g1TKoreNqBw8hYv1XAvsY6Cs+lPjgjldxRPJHKg1SzH0r+jzO9Xvr8lQ54fEBNTvx5rFUd\nOLyItaYCVqTxJSbgs9RYtRiGszghNWqb3+u7LPPxBdeyvZGZ3g9vcuLXpGjPq3DZYlzCR4ytgDeE\n71VMkZqxkCdYLTVY/7ijc4b3xH6MD7sRd+JcwW97dn4irpcJNEojcFG2Vy01DywPgoMzfITUtHPD\nXillL6/rOtzM7BXoEfqS+FQTxuGuFIBCdkijtZA1hVKe41OxW5rjL6S0N0vNRurq9YF/Ry8cjgcL\nUnUYIAWhXYp0sxR96CZltlWa8ftF+uPt4+H7BRekbMOYePOPOf5f/stf5CcLWnXpNnC/hgAAAABJ\nRU5ErkJggg==\n", "text/latex": "$$\\cos{\\left (x \\right )}$$", "text/plain": [ "cos(x)" ] }, "metadata": { "tags": [] }, "execution_count": 11 } ] }, { "cell_type": "markdown", "metadata": { "id": "P1VucMJgZAZZ", "colab_type": "text" }, "source": [ "A második deriváltat vagy így" ] }, { "cell_type": "code", "metadata": { "id": "m3DUMb77ZAZa", "colab_type": "code", "colab": {}, "outputId": "38e0b2b7-bbd8-4974-8a05-34eccbf7d067" }, "source": [ "diff(sin(x),x,x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADwAAAASCAYAAAAHWr00AAAABHNCSVQICAgIfAhkiAAAAk1JREFU\nWIXt10uIjmEUB/CfOyHjWu6XDCYxuSUsXMfCjlLULNzKwkpmoRSyMy6FUjYuWWBLSikWNCQxNCtR\nw0ihaRYuubM47/ie+cZk1NtHmX99fc9znvM+5znnOed/3pf/DD1KZGcJ7uEzbpXI5i/RvUR2RmIw\nppbI3j+Byej5tw/x36FbCWz0wQQMx1vUl8Bmh8grxVZjAVqEg8NEMLehHIewEmewIdPfJ2r7CG5j\nKfpjHnZoT249UIUr2XwOqvFdBHQLtqIMo7En8+8LnuTkJ6jAtSLZOpwukt0tkg3FG1zG5kR+FI2/\nsLMeA7JxOY4pZOhpPMJCLMI3ETTYmG6SB0vPxAgMTGSX0Fyk97Zo3pz9JuFkIm/AeFECKUYme2zH\nTnG7RGa0oA7PcFghuI8xq3WTNKUrM6XO1vV9Eb0bwuHnuIg7OK8Q4d+hPjk4fEqceJ2MU539eJfM\nFyo42ISaZK0Ba7LztnH4gSQSf4AXmC8ivkrU1QERjHOdeP5jJ3TKRPq34mkyrsAoXO/g2TfiQpBf\nSn8UhDEW43ABJwSB5YEWhfotxnKRFXWJbFIyHiQprzwcni1IqhVN2CSIoyyH/eG9wln7oRYzsnkV\nHmY6Mr00pStFF/i5mAdqtCWZMYI1XyayXtq3wY5k6X8rXqGvKJsaTMc0cZtpWezC2WQ+UQQE+bx4\nVAtWHYIPglzKBLE0YTEOYq74eLgpeu9ukR2fBdGtzeQrxHt3I06Jfg29sUy0t1qFNN2L45ntT4I4\nr2ZrU/BVzn24C134h/AD1VB02meet4oAAAAASUVORK5CYII=\n", "text/latex": "$$- \\sin{\\left (x \\right )}$$", "text/plain": [ "-sin(x)" ] }, "metadata": { "tags": [] }, "execution_count": 12 } ] }, { "cell_type": "markdown", "metadata": { "id": "wJXMQreyZAZc", "colab_type": "text" }, "source": [ "vagy így, (talán egy kicsit átláthatóbban) írjuk." ] }, { "cell_type": "code", "metadata": { "id": "UiLsuwCSZAZc", "colab_type": "code", "colab": {}, "outputId": "14e30c1f-3ef4-49a5-9114-1b80e7e36879" }, "source": [ "diff(sin(x),x,2)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADwAAAASCAYAAAAHWr00AAAABHNCSVQICAgIfAhkiAAAAk1JREFU\nWIXt10uIjmEUB/CfOyHjWu6XDCYxuSUsXMfCjlLULNzKwkpmoRSyMy6FUjYuWWBLSikWNCQxNCtR\nw0ihaRYuubM47/ie+cZk1NtHmX99fc9znvM+5znnOed/3pf/DD1KZGcJ7uEzbpXI5i/RvUR2RmIw\nppbI3j+Byej5tw/x36FbCWz0wQQMx1vUl8Bmh8grxVZjAVqEg8NEMLehHIewEmewIdPfJ2r7CG5j\nKfpjHnZoT249UIUr2XwOqvFdBHQLtqIMo7En8+8LnuTkJ6jAtSLZOpwukt0tkg3FG1zG5kR+FI2/\nsLMeA7JxOY4pZOhpPMJCLMI3ETTYmG6SB0vPxAgMTGSX0Fyk97Zo3pz9JuFkIm/AeFECKUYme2zH\nTnG7RGa0oA7PcFghuI8xq3WTNKUrM6XO1vV9Eb0bwuHnuIg7OK8Q4d+hPjk4fEqceJ2MU539eJfM\nFyo42ISaZK0Ba7LztnH4gSQSf4AXmC8ivkrU1QERjHOdeP5jJ3TKRPq34mkyrsAoXO/g2TfiQpBf\nSn8UhDEW43ABJwSB5YEWhfotxnKRFXWJbFIyHiQprzwcni1IqhVN2CSIoyyH/eG9wln7oRYzsnkV\nHmY6Mr00pStFF/i5mAdqtCWZMYI1XyayXtq3wY5k6X8rXqGvKJsaTMc0cZtpWezC2WQ+UQQE+bx4\nVAtWHYIPglzKBLE0YTEOYq74eLgpeu9ukR2fBdGtzeQrxHt3I06Jfg29sUy0t1qFNN2L45ntT4I4\nr2ZrU/BVzn24C134h/AD1VB02meet4oAAAAASUVORK5CYII=\n", "text/latex": "$$- \\sin{\\left (x \\right )}$$", "text/plain": [ "-sin(x)" ] }, "metadata": { "tags": [] }, "execution_count": 13 } ] }, { "cell_type": "markdown", "metadata": { "id": "HOzkqiRSZAZe", "colab_type": "text" }, "source": [ "Természetesen parciális deriváltak elvégzésére is van mód:" ] }, { "cell_type": "code", "metadata": { "id": "kBLRpPZgZAZf", "colab_type": "code", "colab": {}, "outputId": "42bfb110-f9a0-4747-fd7a-ea3f3bb84c92" }, "source": [ "diff(sin(x)*cos(y),x,y)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAWCAYAAAAowQktAAAABHNCSVQICAgIfAhkiAAABHNJREFU\naIHt2HvM11McB/BXiaSsp+tUqB5FLRQhUlJEa5q1uWRrFhnDsNSmzZZkbOUyyjSXKYzGfzRmsyFa\nLguFMYaVSzdakTXd5I/P+fU7z7ff0/NMP0/Lfu/tt3PO53zO9/M553zO+3POjxoOCxzRQnYuxKfY\nhQ9ayOb/Cq1byE4PdMIpLWSvhoNAP7Q51E7UUMNhj7aC8kZgSBW+1xNHN1O3O66rgs1DjmpR0USc\nhy1iY7qiFW5FfzyMS/AcpiT9OSJ3PYYPMRrtcTamq3zp6IgrMB/1uBN98SJeyvSmp+9MwlYRJMsL\n3xqCWan/L5Gvn8HKTGcYbsNGsVZ1eADfNHPuxIVtLN5M7aGYjL3ogxtwU/p2L9yTbO3G9xXW4F9j\nIN4uyCZhcUG2siDrgm14HVMz+XysacTWveiQ6gtxFO7A5wW91Xg51Vvh6UL/cPwhbqMlPI+1WXuC\n2JBumWxg8u2MrN3U3K/JfO6PBcknSe/b5M/5+FsEGQUmqMat73RBMcdmsqXYXND7s9DenH71eDaT\nf4neGi6Q1G6bvjMC72MnxonJllCHU7EstffiN5yU2q2wKI1/t+DPR6neIeksxK+Zztd4NfXRvLn3\nUJ77NMxMPhEMsgUr8CMeUd7k75QDogEG4zOsauav5GxPbMLveEFQRXGRiUVZXJCtwZKCbIoyLeSY\nLKIcjhOb1gt7BP2UMCGNH5TJLlc+teem/jkVfCzh6qQzrkLfLalvqKbn3l5sTgm9C9/6Bfc34kOn\nzOcGOWq1RnawCawTXD4T48WCPiiObnETKmFHM+0Mx9xU35DKq0S0vpHpjRQn6KuCjyNSvU8qfz6A\nrfpU7q7QtyuV/fCJA8+9TtB7CTm1DhQb/U4jPmwTpxXVo74dIiGegBNFfnhSRH210ENsQI5LxUTz\nzb4A7ynTC3FhqEv1dansdABb61PZvUJfl1Ru1PTctyjnpyIuEtS9IpPVZ/WOMgqtxkadKRJoCT/h\nepEY6yqO+Hdob//T11vDG1j75M+ygl475cheIU7TmAo2JgpaXYrtKv+TMjSNX67puW9XXuN2mIfT\nUnusuARtT+3WmJF9a7C4De/rrAZmaMjNx4sEvzGTHWn/50BjsrwsYbOIshxr0Tlrz0vjihvVWfmU\n7BaLOUrkrhK6icXbkGzdKHJEj0ynr3hGXKtMi03NfZN4941PuoMwQJyePPDuFnkut7XvNtvKwWOy\niOzO4j2yV0TTXBFho/AQzhL8vly8nWaJiNyFj3Flkl8saGmNuLCUkv59eAVfZLYHiLfPqmR7mFiI\nriKqS5gmojN/m52D2YIW14tFmysuBiWMxM1JZw+OwaOZD03NnXhCjBHPk3nKdDYbT6RxO/Ea3kp9\nJyd7VX1HtRRGiyhvDK3FaVhUoe8ptf8ZWwxt8HjWXqLhQ3eiiM7+hXF9cft/61oNRUwSdEncABek\nek/8oGFiJ6j9LkE/hzWqkaNaGlPFf3uXiTzTWiT8BbJbUkIXwfVbW9LBGmqooYYaqoJ/ADeUCBcy\n62x8AAAAAElFTkSuQmCC\n", "text/latex": "$$- \\sin{\\left (y \\right )} \\cos{\\left (x \\right )}$$", "text/plain": [ "-sin(y)⋅cos(x)" ] }, "metadata": { "tags": [] }, "execution_count": 14 } ] }, { "cell_type": "markdown", "metadata": { "id": "cVwiMNIUZAZj", "colab_type": "text" }, "source": [ "A magasabb rendű parciális deriváltak legyártása az egyszerű deriváltak általánosításán alapszik:" ] }, { "cell_type": "code", "metadata": { "id": "7s-hpBgOZAZj", "colab_type": "code", "colab": {}, "outputId": "7410250b-d017-4557-f20f-56897bc638ec" }, "source": [ "diff(sin(x)*cos(y),x,2,y,3)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAWCAYAAADdP4KdAAAABHNCSVQICAgIfAhkiAAAA7FJREFU\naIHt2FuIVlUUB/DfjGbFFE5egulmM2U5dJEmKpq0lBiNXsIIMfChMuohKMyBgqDo9pBmkAlhQRei\nrB6LoifDNBu6akhQaGWG3RxHmBIta3pY5/Tt78yI0/TNGY3vDx/f3uusffbae6/1X2sf6jhiMa6k\neebgU/yBD0qac6SY4wixtbGkeVpwEs4tab7/gqPJ1prhbIwfayOGiaPJ1jrGAmXknGOFJ7ZjEn4s\nYc6Ropa2niLy1sFh6p+MhdicC2oVugtwOfrEAqegAXdgOlZiHl7ETZn+Q4Lfn0QP5qIJl2CZwcl4\nHLrwTta/GIsxgDNxK25HM07FA9n6DmJ7ybZOxA1YlfXbcDda8TJeSXSXZe9ZhL2YhY1qhHasK8gW\n4YWC7OOCbDL68RaWJPJV+HaIeW7ECVl7Op4Smyp771foxBX4Sywabh4DWx9MbIWnMQF34fOC7ha8\nlrUb8Gz+oBbV2oUiJE9MZG+it6D3a6Hfm/3a8Fwi34ppmFrQb0nesRT3iqghvLgPm/AdnlDZ3G24\nqERbp4qIzN8xCxvwO64RTpSjGedjfdYfwG6cRTWtzcwW1GB4+Ex45Qax4O/xBj7EqyqeezhsVtlk\n2SKIDf8laac6j+G3pN+pchg70Z0824rrM3vLsHU+3k90tuEjQbXzBN3lmC0CZH0i6xF3re3p4WxR\n8bB/g124THjytSIPrBAHt3YY4w8MQ6dZ0EqOHUm7XSTfdw8xtl8cSFm2dgrnyZEXFQtFNL2dPJst\nIuWLRLZLRFvNaO2ASMan4wzBoWtEeNcCfao5PMXVwoM3JbK2pD1RhbbKsLVFbHgR84UDpQd8Jd5T\nHY17hTPW5HA6RFLNsRO3iKTcXIP3wz4VW4/HclyQ9btEkt2X9RtV09pMQRVl2dpk6Aibhi8Leh2q\nKY1YXz+1+3zTrTopniYS30+J7BiDS/dDydL/HD/jOEFH3TgPM0SUpJtxH15K+q2qK6TRtrVXRGsR\nO8TdKcfybFzxcCbhhyHGjwiLxYasxKN4BKsFbcBVIiEOCPpZh+vwSSLbKOjgdezJ5N/g/mSeCaLa\nmSIqphXZr0ncSdaI8rorGXOOrPIp0daHVaI6xYxs7Go8LoqTPQYHyFJxD6tjFDAXtx1Gp1EUCs8P\n8ewZ9e96o4bxIjpSrFVNrQuwX1ymU7TiztEzrQ6i6OhI+rsF5RJl/9eqCxPifnmPoO9/BHWMDpaI\n72j7xcXzUkFnLeKgegr6k/GnKKXrqKOOOv6P+BuaV/VufAlFEgAAAABJRU5ErkJggg==\n", "text/latex": "$$- \\sin{\\left (x \\right )} \\sin{\\left (y \\right )}$$", "text/plain": [ "-sin(x)⋅sin(y)" ] }, "metadata": { "tags": [] }, "execution_count": 15 } ] }, { "cell_type": "markdown", "metadata": { "id": "33JM-DQmZAZl", "colab_type": "text" }, "source": [ "Az `integrate` függvény segítségével határozott és határozattlan integrálokat tudunk elvégezni. \n", "\n", "Határozzuk meg először az $x^2$ primitív függvényét:" ] }, { "cell_type": "code", "metadata": { "id": "kEnRO796ZAZl", "colab_type": "code", "colab": {}, "outputId": "0102fcb8-acf8-4d00-e832-3b16d12f584f" }, "source": [ "integrate(x**2,x)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAbCAYAAADlJ3ZtAAAABHNCSVQICAgIfAhkiAAAAmBJREFU\nWIXt11uITVEcx/GPS+63oijkXpQ7yTUSJXnQSAnFgyJRU7woooRCKWoeUYpEEm8Uinmgcfc0kicP\nyv1uTDMe1jpmz5mZc/bsOSPkW6ez1n///2f9zl7/9f/vzV9EhzbEzsMQ9MACHMf1EmhqF15hXRyv\nxGf0Shlb1i6KCjAePeN4JX6gd4q4sbiYZcHOWYIiTxLjMuzFxxRxq3EmzzYTG/EV3eNnHx63QV8T\nZmCnkK89Usbci2JyTMEldEvYKvABk0ugsQmbcFfxnJ2BU3m2I6gXUinHsmg7mnTsmFHcTLzEiDi/\ngalYUiRuDU7n2e4Ld/F9wpbL/S8Z9TViOq6ha5wvRQ3GFIjphEfSnZNDqMWkpDE/cBrWClswHBuE\nxO+HwdiNZ6gS8nQL6jBX2LqnBQQsxM0oohCjsB5b8bAlpzE4pqFRnEQ1ZmNOFLWtyEKFOBF/pyWW\nx/WrsUORhlWhoW7COdyO46E4jP4ZhXbDg2ICIl2ETlhZaL1hefMXQq0rBStwoBX+C4RUPJfGeVx0\nXtRqWc1zXuh4zTEWE/NsfeL6dVK08C34rnGhH9l6jaAv7rRwrY/QtWqFg5WjpyC2Psajoc52x0FM\niPPFQpn5kvDbnlHsClxo4VqNUJGe423CPi5+V2lcf3/9YB1WCdvyGLcS13dhVkaxVzQ9D0n2o1zj\nw3cKn4R6/oucwwDhzr6O8z1Cdfgm/PtLuJpB6CCcxfwifuuF7leLgXgj3KDqDGtmphybf+eCbaFS\n2LWSkPVBJg2j8U54oygJ7Sm2uYfsP5bL0r+T/ec//yQ/AXNhbhBcvhefAAAAAElFTkSuQmCC\n", "text/latex": "$$\\frac{x^{3}}{3}$$", "text/plain": [ " 3\n", "x \n", "──\n", "3 " ] }, "metadata": { "tags": [] }, "execution_count": 16 } ] }, { "cell_type": "markdown", "metadata": { "id": "VCqgXyH0ZAZp", "colab_type": "text" }, "source": [ "Az\n", "$$\\int_0^3 x^2\\mathrm{d}x$$ határozott integrált pedig az alábbi módon értékelhetjük ki." ] }, { "cell_type": "code", "metadata": { "id": "4ZSjSpPVZAZp", "colab_type": "code", "colab": {}, "outputId": "ad47464b-db69-4181-cb97-eea37c018eb6" }, "source": [ "integrate(x**2,(x,0,3))" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAASCAYAAABvqT8MAAAABHNCSVQICAgIfAhkiAAAAOhJREFU\nKJHF0b1Kg0EQheFHCWL8IfgTEbGJbao03ofWKexMJSkidgriXQjeQSBFWmshhWCprRaiIthIQJNY\nZD9YviwYK6eb2Xl3zpnhjzGTy3dwhj4GWMQJnlNwBW/Yj2p13KGQAjp4x2xUK4ZpB/nmOXyhl/jo\nHt0syX5bDWP7CeADu3ngFZ+YTwBbKEv4uDI2HW9uE0OMsJEHynjAYcgLuMBtANaYvMMKjlAKEi/R\nRhULAfw1HnE9TWMmc4RG6rGJF2xHtRaeRNuLV7UUdH+HvIZj7InuE5su4hzrWDY2foqbafX/U/wA\nYF4omX8bkvwAAAAASUVORK5CYII=\n", "text/latex": "$$9$$", "text/plain": [ "9" ] }, "metadata": { "tags": [] }, "execution_count": 17 } ] }, { "cell_type": "markdown", "metadata": { "id": "cLg6H90aZAZs", "colab_type": "text" }, "source": [ "Természetesen az integrálás során szerepelhetnek a kifejezésben más paraméterek is:" ] }, { "cell_type": "code", "metadata": { "id": "ROHX9Wo0ZAZs", "colab_type": "code", "colab": {}, "outputId": "99019d99-2c80-4987-a2bc-ec34197ddac4" }, "source": [ "integrate(x**2+y**3,(x,0,3))" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAaCAYAAAAHfFpPAAAABHNCSVQICAgIfAhkiAAAAyBJREFU\nWIXt11uIVmUUBuDHSSdPaVqWHegwERRF5lxIFxpzpUEJFgoRgoEXVhepREQhCGIEiggVdWHY1M0k\nKkUQgRBqEEWkoRJRhGJadBgSBXU8Thdr7/pm+6v//mfvHGheGPZ873da/9prrXdt/ucYUfP5s3Ar\nxqILG7G95juHFHqxKPt/AY5j/JUz50KMrPn8LhxIxu3qj7pSKBrzEJbgJMZkf69iXwV39eB7rKrg\nrGbQgZXowzmMw0v47WIbpuNjjE64t3AMDw7CkBlYIfJ/bAv7R7Ww506Rfk8k3ELscYmoX49+kas5\nHsu411swoohnsEv5GrABt5Tc8xH+QlvCjRHR8HS6MF3wrXjbRxPumux5oqQBRDr9Lt4G7EAnHil5\nzijloqAdj+InnE/4kziI+eni1AHvYyK2JVynyJ+eEgbkOIvv8Gs27sAZEYZ1YrII874Gc0dFSjaF\nu/Anni3wHXgTn+CpwtwL+CAZL8y45diK2c1enqAbd5RYf5WQ268bzB0WKX1J9ZuHN/AjXnahUrwt\nwmwp9hbm9mBTCWObQbdyDiAKbq+Btk8VKdGPG5o5pF10bV/guoyb6d+3/im2JOuvFenyXEljL4du\n5R0wRbzAJdl4JFZjt3BA/nsu25R0CSdsEeowFUdwPX4WBeXDbO1cIaP3i9wvi/cwrQF/m9Du0w3m\nFgtlaYRJeF7UtRNCTbbiPiHH/cUN9+CBAjchW3jeQPlaLgrK1Qm3RtSMqju9buUj4GI4hM9SIleB\nCUIGd4vil+Nc9hwhikuOOSIyTiXcw/hcA88OEUwRH2abUzJ3wGmRJwdEiOe4N3t+Y2B/cDt+SMbj\nhGTurM7eQWEZ/hA/OMci/CIi6h/kctCHtdmm1AFLhaQUpfCg0Nsca0SzMlQcMF7k/dlsPB0v4nGF\n/iDVw1dEm9iTbbxRtJOdoqKmWIZ3RD/QJ2rHEdV8NFWBdaL4vSa62YlC3r+s47I2UaXfreNw1RbB\nStBjYAOUh9XdNd3XqbUvwtrQKzpFuBn78eSVM2dwaEWz54sPijbcJJzxVZVGDWMYwxjGf4W/Af1F\nmqziZhBzAAAAAElFTkSuQmCC\n", "text/latex": "$$3 y^{3} + 9$$", "text/plain": [ " 3 \n", "3⋅y + 9" ] }, "metadata": { "tags": [] }, "execution_count": 18 } ] }, { "cell_type": "markdown", "metadata": { "id": "Ucom1nonZAZu", "colab_type": "text" }, "source": [ "Többváltozós integrált egyszerűen a változók (és ha határozott integrálról van szó, akkor az integrálási határok) egymás után írásával értékelhetünk ki:" ] }, { "cell_type": "markdown", "metadata": { "id": "GihhWBmfZAZu", "colab_type": "text" }, "source": [ "A $$\\int x^2+y^3 \\mathrm{d}x\\mathrm{d}y $$ határozatlan integrál:" ] }, { "cell_type": "code", "metadata": { "id": "C7ygZdElZAZv", "colab_type": "code", "colab": {}, "outputId": "ca0413cc-95fe-4beb-dbc3-633598673328" }, "source": [ "integrate(x**2+y**3,x,y)" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH4AAAAbCAYAAAC6GjthAAAABHNCSVQICAgIfAhkiAAABMtJREFU\naIHt2lmoVVUcx/FPt65DDlkJ3bTSLMtoMjWV0rISDEtIM5AKEynCKG16KGwQKiLrzbCXqGuTRBJq\n00NQVhhNNJdgFBYEDTZTaZn18N8H993te+7e+x69oucLh7PX2mut/f//9pr+6xya7JXs2426k3E6\nJuB6/IxNDbBpb+cebMVXPW1IZ2zGZcn1Rfgd/Rv8jFkNbm93ZzK+xZSS9Urr1FK2QoopWJVK98I+\n3WgvyyjMbWB7uzsDcTI2lKxXSaf9ylZI8XHqehbuwG/daC/LxViZyZuIK/En+iafu/BRA5/bU1yB\n+zG7ZL08nbLciFbcXcGuXMbjFjyE/RvVaMK74sXWOAVr0SeVtxy/YnSF9lurm9ZwZuCE5HqdclN9\nVqcsw8QyvCSd2Z2pHt7Cncn3axq3xo/HJ2Jk15grBJqRynseAzC/wjOWY2hVAxvIEByo4wxalDyd\nsiyWMyirvviJYhNyZJJehzE4t2J7WS7BE5m898To/iWVNyD5/qPCM1rtHqN+muiANyWfY8T0fV6B\nunk6pZmFl7prYJpxSYO9k/R0/IWRDWh7X3yo2P7jXmwTm6KytGN4hXo7m02KTfVd6dQfDybX/8pM\n9dlKY3FpUnA4LhebqUGiV96Oz/GOWNevxnZMwvn4LNXWCBHfH4nHdeyZN+BUzMkx+GyxbGzrxKEa\nR2EersEHXZRtJEU1Kuv/YViItuR+fzxbx46udLpZwc3cSCyzIyRrx0acJg5qticGFeUBEeItEj0z\nzQd4spN6DyfP64wLEjs3CueqhpDtyo/4MhpV9b8o9XQaLbSp8b8Rn2Y5+qXST+HN5Ppw3IeDCxo1\nSaxT8IKO8f4g/IOrcur1wfuKvcxeeBnrS9iVpl35F19Uo6r+F6WeTi1YIfSpUffFD8ukvxYxchXa\nxPo/VDg5M3VvRmLI8Tn1LlQu1pyStPVUnTIrhEjZz4/4tJN7Yztpq6hGVf0vSj2dFuCsTF7dF5/m\nuKTw1KqWJVwnduG9U3lL8b383rrKjng2yyiclMkbKOzcrnwo2a57m7siGpX1vyid6dQmlqIsXW7u\napwjdumvp/JG4IuSBk4T0/HWVN4ZeDUxJs0BOEJ+PDtQhHOtOFZsnojRRIjYnR+cqlBEozL+F6We\nTlPFAFmdyquFrHPE2v8Inq7d7Ct64olJeg3eTlVuEetbWTaIX5tq9BNiLcwpO1/EsXn0wd8iajgo\nlT9OCPh2XqUuaFduxFfRqIz/RamnUx7D1Rnx08V57rtC4BE6HpQsxqMVjPxSxxe1VPTAV3LKzhHn\n1XlsETH7d/gplb9IHEcuqGBbWapoVMb/otTTKY/WzDd2rDODE6N+SNJLRO/dInroWrxYwchR4hDh\n/aStCWJTM1isyzXaRHhzZhftzROng9twiNig3SpCqrK0Cz83FSxfRaOi/helqE7E8rhGLI2HiuXm\nPTEDra5Tr+G04BsRf2a5VvfCmyq027Und/X8L0pP6FSalToeXMwUvT7vWHe9GAW7kjF27ll9Gf+L\n0hM6lWazHaHFELHbzTuiPRrP7SqjdiFF/S9KQ3Vq5D9msswWPxu2iDVmGd7IKXebEOWxnWhLT1DU\n/6LscTo9o/H/1dsTaerUpEmTJk2aNOmS/wD7KiioBOqmRAAAAABJRU5ErkJggg==\n", "text/latex": "$$\\frac{x^{3} y}{3} + \\frac{x y^{4}}{4}$$", "text/plain": [ " 3 4\n", "x ⋅y x⋅y \n", "──── + ────\n", " 3 4 " ] }, "metadata": { "tags": [] }, "execution_count": 19 } ] }, { "cell_type": "markdown", "metadata": { "id": "byYYw0UBZAZx", "colab_type": "text" }, "source": [ "A\n", "$$\\int_0^3\\int_{-3}^{5} x^2+y^3 \\mathrm{d}x\\mathrm{d}y $$ határozott integrál:" ] }, { "cell_type": "code", "metadata": { "id": "S-gLFNReZAZy", "colab_type": "code", "colab": {}, "outputId": "51138602-d486-459c-c88b-c149026b94ba" }, "source": [ "integrate(x**2+y**3,(x,0,3),(y,-3,5))" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACAAAAASCAYAAAA6yNxSAAAABHNCSVQICAgIfAhkiAAAAgtJREFU\nSInt1U2IjlEUB/DfjI9XmNcYyrxFPsaEoqZssZCNj4VELFgKTdLILMxKasJCjWTBSkhKiYWFzWRh\nI2UUykeS769CMeV7LO59zONx33dmx8LZ3Pf+zzn3/t/zP/c8/GWrG8K/C6Owr4BPxW4MoISx2I+b\nhbg5MfdRjJ2MTrwaDrnp6MeeAj4J51HJYTNxF605bAKeYmMO68ItjB4OgWORdZFAJ7Yn4rtwILfv\nxmuMzGFN+IptGVBf5fI16K3im4WlCfyTIFdm63AV33LYW9yJvqoExmMFzlQhcAOrcRoTI1YSSn08\n7hsEOR4n8p9jYZWzEUrXEn+nJCjhWvS9iBefwvJczPzoLzYvnDPYvH9UoA0f8aAGwc+CBJfQjJNo\nxPVcTDmuXxL5/XFtLBKoRwcO1rg8s3Y8wSo8xEpBmgXR/z2uA4ncrE9GFAlsETRMsc5bBxZjMy7G\nS3swRZAC3tTIHxfXD3mwGYcTwcUeqMM7QeOibY3x8+IlP3AoEdcbz8DgG12GucKAySwr1QahN07g\niqDd/cTBR4U5MEbQuQ/TEnGzBbmGtBnSFXiJRYn4BmHyleJ+L575fdy3xDPbh0OgNQZ3F/D1uB0J\nZlbGWazNYRW8x6Yc1hNzf43i1MeojAvCh6QiPLs+obyZREuwM/oGhI4+gsuFs9riH7gnVKgJO4QX\n9N/+DfsJtd5ph+L+q04AAAAASUVORK5CYII=\n", "text/latex": "$$480$$", "text/plain": [ "480" ] }, "metadata": { "tags": [] }, "execution_count": 20 } ] } ] }