{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Installed tikzmagic.py. To use it, type:\n", " %load_ext tikzmagic\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/gregor/.virtualenvs/oma/lib/python3.4/site-packages/IPython/core/magics/extension.py:47: UserWarning: %install_ext` is deprecated, please distribute your extension(s)as a python packages.\n", " \"as a python packages.\", UserWarning)\n" ] } ], "source": [ "import math\n", "import sympy\n", "from sympy import latex, solve, Eq\n", "from IPython.display import HTML, display\n", "from sympy.abc import x, a, b\n", "\n", "%matplotlib notebook\n", "%install_ext https://raw.githubusercontent.com/meduz/ipython_magics/master/tikzmagic.py\n", "%load_ext tikzmagic\n", " \n", "sympy.init_printing()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# OMA 2. kolokvij 2012/2013" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. naloga" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*V polkrog z radijem 1 vcrtamo pravokotnik ABCD tako, da oglisci A in B lezita na premeru, oglisci C in D pa na loku polkroga. Koliksni naj bosta dolzini stranic pravokotnika, da bo ploscina pravokotnika maksimalna?*" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVkAAADwEAYAAAD6BssKAAAJJGlDQ1BpY2MAAHjalZVnUJNZF8fv\n8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEUQUUDBVSmyVkSxsCgoYkE3yCKgrBtX\nERWUF/Sd0Xnf2Q/7n7n3/OY/Z+4995wPFwCCOFgSvLQnJqULvJ3smIFBwUzwg8L4aSkcT0838I96\nPwyg5XhvBfj3IkREpvGX4sLSyuWnCNIBgLKXWDMrPWWZDy8xPTz+K59dZsFSgUt8Y5mjv/Ho15xv\nLPqa4+vNXXoVCgAcKfoHDv+B/3vvslQ4gvTYqMhspk9yVHpWmCCSmbbcCR6Xy/QUJEfFJkT+UPC/\nSv4HpUdmpy9HbnLKBkFsdEw68/8ONTIwNATfZ/HW62uPIUb//85nWd+95HoA2LMAIHu+e+GVAHTu\nAED68XdPbamvlHwAOu7wMwSZ3zzU8oYGBEABdCADFIEq0AS6wAiYAUtgCxyAC/AAviAIrAN8EAMS\ngQBkgVywDRSAIrAH7AdVoBY0gCbQCk6DTnAeXAHXwW1wFwyDJ0AIJsArIALvwTwEQViIDNEgGUgJ\nUod0ICOIDVlDDpAb5A0FQaFQNJQEZUC50HaoCCqFqqA6qAn6BToHXYFuQoPQI2gMmob+hj7BCEyC\n6bACrAHrw2yYA7vCvvBaOBpOhXPgfHg3XAHXwyfgDvgKfBsehoXwK3gWAQgRYSDKiC7CRriIBxKM\nRCECZDNSiJQj9Ugr0o30IfcQITKDfERhUDQUE6WLskQ5o/xQfFQqajOqGFWFOo7qQPWi7qHGUCLU\nFzQZLY/WQVugeehAdDQ6C12ALkc3otvR19DD6An0ewwGw8CwMGYYZ0wQJg6zEVOMOYhpw1zGDGLG\nMbNYLFYGq4O1wnpgw7Dp2AJsJfYE9hJ2CDuB/YAj4pRwRjhHXDAuCZeHK8c14y7ihnCTuHm8OF4d\nb4H3wEfgN+BL8A34bvwd/AR+niBBYBGsCL6EOMI2QgWhlXCNMEp4SyQSVYjmRC9iLHErsYJ4iniD\nOEb8SKKStElcUggpg7SbdIx0mfSI9JZMJmuQbcnB5HTybnIT+Sr5GfmDGE1MT4wnFiG2RaxarENs\nSOw1BU9Rp3Ao6yg5lHLKGcodyow4XlxDnCseJr5ZvFr8nPiI+KwETcJQwkMiUaJYolnipsQUFUvV\noDpQI6j51CPUq9RxGkJTpXFpfNp2WgPtGm2CjqGz6Dx6HL2IfpI+QBdJUiWNJf0lsyWrJS9IChkI\nQ4PBYyQwShinGQ8Yn6QUpDhSkVK7pFqlhqTmpOWkbaUjpQul26SHpT/JMGUcZOJl9sp0yjyVRclq\ny3rJZskekr0mOyNHl7OU48sVyp2WeywPy2vLe8tvlD8i3y8/q6Co4KSQolCpcFVhRpGhaKsYp1im\neFFxWommZK0Uq1SmdEnpJVOSyWEmMCuYvUyRsryys3KGcp3ygPK8CkvFTyVPpU3lqSpBla0apVqm\n2qMqUlNSc1fLVWtRe6yOV2erx6gfUO9Tn9NgaQRo7NTo1JhiSbN4rBxWC2tUk6xpo5mqWa95Xwuj\nxdaK1zqodVcb1jbRjtGu1r6jA+uY6sTqHNQZXIFeYb4iaUX9ihFdki5HN1O3RXdMj6Hnppen16n3\nWl9NP1h/r36f/hcDE4MEgwaDJ4ZUQxfDPMNuw7+NtI34RtVG91eSVzqu3LKya+UbYx3jSONDxg9N\naCbuJjtNekw+m5qZCkxbTafN1MxCzWrMRth0tie7mH3DHG1uZ77F/Lz5RwtTi3SL0xZ/Wepaxls2\nW06tYq2KXNWwatxKxSrMqs5KaM20DrU+bC20UbYJs6m3eW6rahth22g7ydHixHFOcF7bGdgJ7Nrt\n5rgW3E3cy/aIvZN9of2AA9XBz6HK4ZmjimO0Y4ujyMnEaaPTZWe0s6vzXucRngKPz2viiVzMXDa5\n9LqSXH1cq1yfu2m7Cdy63WF3F/d97qOr1Vcnre70AB48j30eTz1Znqmev3phvDy9qr1eeBt653r3\n+dB81vs0+7z3tfMt8X3ip+mX4dfjT/EP8W/ynwuwDygNEAbqB24KvB0kGxQb1BWMDfYPbgyeXeOw\nZv+aiRCTkIKQB2tZa7PX3lwnuy5h3YX1lPVh68+EokMDQptDF8I8wurDZsN54TXhIj6Xf4D/KsI2\noixiOtIqsjRyMsoqqjRqKtoqel/0dIxNTHnMTCw3tir2TZxzXG3cXLxH/LH4xYSAhLZEXGJo4rkk\nalJ8Um+yYnJ28mCKTkpBijDVInV/qkjgKmhMg9LWpnWl05c+xf4MzYwdGWOZ1pnVmR+y/LPOZEtk\nJ2X3b9DesGvDZI5jztGNqI38jT25yrnbcsc2cTbVbYY2h2/u2aK6JX/LxFanrce3EbbFb/stzyCv\n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\nbgBQREYtMS41IAVcCzkAAAAASUVORK5CYII=\n" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%tikz s 400,400 -sc 1.2 -f png\n", "\\draw [domain=0:180] plot ({cos(\\x)}, {sin(\\x)});\n", "\\draw (-1,0) -- (1, 0);\n", "\\draw [color=red] (-0.5, 0) -- node[below, color=black] {2a} ++ (1, 0);\n", "\\draw [color=red] (-0.5, 0.8660254037844386) -- (0.5, 0.8660254037844386);\n", "\\draw [color=red] (-0.5, 0) -- node[left, color=black] {b} ++ (0, 0.8660254037844386);\n", "\\draw [color=red] (0.5, 0.8660254037844386) -- (0.5, 0);\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Maksimiziramo funkcijo $P(x)=2ab$. Velja tudi $a^2 + b^2 = 1$. Namesto ploscine bomo maksimizirali njen kvadrat (ki ima maksimum v isti tocki kot prvotna funkcija." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALsAAAAcBAMAAADLp9MPAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdqu7zZkQ7zKJVEQi\n3WYRMBq/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIDbVVO2gUURQ9+5vM7Ce7CiFlYqKF\nFmZQoo2YNSQWorgxwcJCB1TSCBELG9FsYWexK5jOyIqFEotsqYVkILUkiiJ+IlsoIqTwEwP56Hrv\nezPjvMlsPoUX5s09595z9819nwW2YmPdVli6MXg6jN4qZ9jRfJjmLnaG0VvlMra+KjW3FOkHlGyF\nECCyllqfyVTTKyJDN5XE95ipKoQAqfa13AZMclEkxK1A3mSQ4Pg9JSldE3BeIQMgkxPEQIDGiyDB\nOGPxuL2+r7OfvGloB2eBqM2kanoB568zNSb4tPwG9oUERkHwgSEi2QUgdhU4DsTbSZAPZBHMmEAv\nvZulwF+NJfhMj2oPLSD9jTl9CUh+F9JshfBtJlVrpfLLRD3FEw40VXiUxpJUOVWU6L58abu6LPI+\nMorQbogsIWMDUxbhYXpUS38ykaKG6McmDnCkZP2Ls+TmxAOHccoDbUwM0oMYfUN0Bc/JHWccr/Lo\nNyNuwpilWdfrlAt88QVZMlqvO4xavpXZbB6YKaCF3N5tZxCyTvNUPr6jpUIZwoZch95C4mG1vGhG\nqYzkW+AwreqCNWKjOc/Zd/rY+tnVclR+5Ki2yoBtv3zxKCUeVsuXihRo2z02YAPvaIEXkaXfojYo\nZoDKT1qgLSCNN5FjUuIiqOXFWe6xRPQakMhjpAxd9NdTAI+4/BA0r/xrmvWJObJXRSmRyfTBb/r6\n5G+LpZ2pUOC3DFL5eAFTlTXltTKX70eKt6Yw3+ylxA2EzF7/JYPUnGwN5yykRHPGeXZzLymW7Ojo\nupL7g4R3Vn3lpaRBeb5HI86kaGmzVe0GHc28l+06TSZWMFxzYafruBIPq72fsqgjzqToOonWYgVa\ngbKX7TpZE3vR7SKI/SyRlHgRtTydj8TJnzkRfUbrNXCW3HiRBsWMnh+1iy01j+NZOSYlLvJ6f2q0\nt+acWifGl4IwPr7rW1O1UdybvUg44ktzbsPQK82Xxm5I+5yMS/5MzdsLzB6SobAL2S8iX78cIMJh\nc7ufn5YgZvvJcH9POB1gM0U/sZk/Qyf/gl/X0P/aMLJBIFnYIIHDaXMTSeEpj8NphU1YCvwf4C89\nbcIO9TgFxgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$P{\\left (b \\right )} = 4 b^{2} \\left(- b^{2} + 1\\right)$$" ], "text/plain": [ " 2 ⎛ 2 ⎞\n", "P(b) = 4⋅b ⋅⎝- b + 1⎠" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P = sympy.symbols('P', cls=sympy.Function)\n", "eq1 = Eq(P(b), (2*a*b)**2)\n", "eq2 = Eq(a**2+b**2, 1)\n", "equation = Eq(P(b), solve([eq1, eq2], P(b), a**2)[P(b)])\n", "equation" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAvBAMAAAACzbekAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInarRM2ZVBDdiWbv\nuzJCz3LGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA8UlEQVQoFbWRsQ7BUBSG/1aJVtJYTewMBgMT\nj2A0SHRiZLJqmGwdbUwGk9kbSLyCxEMYkEidc93T3u6c4T/na869vckH6KrGXEJoJRMPVj+DhVkG\n1xnCBNb4epNvxQgreHdB74g2cBGko2egK9t1YBQqdHq0Eqm1bQg06AF2jdF50XOWdJ/LBLdJUXwD\nJ4VjldMyNjzYgcJqUNrxMIdVppZ7uCE1P4DN6L/mlKgc9h3uGA44R3H85I5FoJpEno/8vZSLJH7+\nO9MPXW76ITT9EJp+CLUfmqTYT1rsxyjlJ+WvH2HtR1D70Sh+NCZ+vpz4+QDG90XydfieogAAAABJ\nRU5ErkJggg==\n", "text/latex": [ "$$\\frac{\\sqrt{2}}{2}$$" ], "text/plain": [ " ___\n", "╲╱ 2 \n", "─────\n", " 2 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P = sympy.lambdify(b, equation.rhs)\n", "x = sympy.symbols('x', positive=True)\n", "solve(Eq(P(x).diff(x), 0))[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. naloga" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Naj bo \n", "$$f(x,y)=3x^2-3y^2+8xy-6x-8y+3.$$*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Izracunaj gradient funkcije $f(x,y)$.*" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAAUBAMAAAC5TlbCAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIma7zZnddlTvRIky\nEKtZsEGBAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC50lEQVRIDcWWz2sTQRTHv9ltmjSbjUFF1NPq\nQQ+CtIpHddXgyUrQelHBHErVU3MpPZTa6MWTEq+FQg5SjynV0oNI8xfoCmIoQlsFUVQw1oKtWOqb\nHxt3dibgrQPJzvu+z/u+ndnNZoGEh20aB1jfXfR5PtZg0/hojl2NSzw24O7oXO1/WeI4nsvT7Azw\nppb0TbVF5CoG3YQngc8GtJM1x10fsIrACdi90dr7Ikh7SBChjTjOgHvAbg0kwcS28XmgO4/Mj1ih\nbO/0wi3FUhRqOEOeAm911My28UVgD2BXY4WyfeZn4HixFIUazpD6SczqqJlt4101jAA7LszTLda8\ns3+sLBxke3xfnYU7Usa+IOos8KhC89zWEY9uqPdPaEMjg7O6hcDhFHEMWD6Lnoo7Y93s9kVl2N7Z\n6oeTrmIiYihxRWHBwlqAdzhUHlQy3Fq3EDgsH7fIbxPJKSdwNtN5URu2fzi9Udub9HFctWS4olCQ\n/jI8iRdYCO4qGW6tWwgc6RImafNLsH676Orllc8KhduFwkWaWyuYmAp6yvhFgXt+iMZgQ+IcjXwd\nRWojCHCOSzFWtwDHkW2x9rTn1irZyisPyNX35JFdRz3I/on0aeOKhkfAqwr4iUYTwlqzkDi1p83P\nVWn1VN4IC2X7ZYo/YACpapjgR4krmtsiGw+xEw2tNQuJZ0rs1svSxaymgwmkAuH5b/XowynYK0or\njisKBbR6O/8g1cK4khGsZiFwWD7mCP+KxUq9cho7Zalsn+mHVcZl1D2pywPD3TVVexzgcGbdbiU8\nVWeswYLhQHIG04Q7V75habR5KSyV7fHyGj0PluZv5FVLhmNI7pRMZT/O1dxP4yMHVZRbGywYDnQ1\n2ENXG2F7mRjQABLCH6kpp2tGC/bEtYo6/Doi5XyXbkt9OLrUSelkAfaE7OtUJfRuzy6biKZJNGud\nLNgfLn/dMJdxNTN63Zj1jKpR7GRhs+ue8OhrWwa9bP0FrF3i/8ZQ344AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left ( 6 x + 8 y - 6, \\quad 8 x - 6 y - 8\\right )$$" ], "text/plain": [ "(6⋅x + 8⋅y - 6, 8⋅x - 6⋅y - 8)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x, y = sympy.symbols('x y')\n", "f = lambda x, y: 3*x**2 - 3*y**2 + 8*x*y-6*x-8*y+3\n", "f(x,y).diff(x), f(x,y).diff(y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Izracunaj stacionarne tocke funkcije $f(x,y)$.*" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH4AAAAVBAMAAAByPkciAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZpkQ3Ynvq81UMrtE\ndiLw+n06AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABrklEQVQ4EZ2UMUjDUBCG/+Sl2NI2uugqHcQu\nQiY7lSoiTpWAi4sguIgg1EFxDIK4Zupog6tDuzmI2KmbtFS0k6i7g1pEJ/HeS1KTl4iQGy69/97H\nXe5eCkApIJmd3XKOLSejieo45JTXBDybmSRWtQhNbZKTLLMlCXKYttkqoQukx/Cl2aEMSPEUsO6h\nMTzy//EXQMNwSyfiP4GuHeDLg5e7HvWo1USjMfXLc9DFVFboBHsnvufyYxbFplLV6Il57hDXv1lH\nnm+KbZPTP4Cm6a6u7tAgjNQw80QJz6L1dbuIbMvP61SfeBwB5zskMqRHOX4myjPsYrzn817/GKt6\nlyiQi+eRG6Lp+Dxofg0bOCGBvz9143DvW7Q+VAv3fhq4BKYN9/35JcoYj8gbv+kYPlsDLd03uj/F\nwP3p2td45rnA/CuWf1g81Vbujf8Q84dmM5qbuDrclR7KhQmedfevHnztQVviwsjYfv9bBHz/YBsD\nJ8CLhOxOJYEmINmovqS7oRlSD1FphwQKBP/X9896oeOLuArFPHA7Oo7oQlDC8k3fCQsUddpcyiT+\n/1sDfgDNr2XH9LJoSQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left \\{ x : 1, \\quad y : 0\\right \\}$$" ], "text/plain": [ "{x: 1, y: 0}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.solve([f(x,y).diff(x), f(x,y).diff(y)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. naloga" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Izracunaj odvod funkcije\n", "$$\\frac{\\cos(x)}{\\sin(x)}.$$*\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFUAAAAxBAMAAABZvvglAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMlTvq5l2ZrtE\nIok087DqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABoUlEQVRIDWNgoAYIEyDWFMaKeqLVMjDMH1UL\nDtghFg7t+eoLiE0Qo+qoEwJCxiCgwsDwnxD4QAUL+bobiTblLUMR0WptGfwvEKvYhuH+AWLVMjDE\nk1CUWIKN5V0AMZ0L00UsmTCL+RrArNswfi2MAadZ/sGYKyAMXRhfCMbApHke8DgARbkaYFJ8E2As\nDNopNBrkN2a4MxkT0NXwukBF8v//B7EuIxToIJgMDCxTVyrc/s7glOE5HW7fDKACyel35gEFXiCr\nlWZgMGBQZ2CwnsD7Fya+i4GB8QGXJbMCA8MimBiIPibAMIFhOwPDNgaGXzBxUwYGPgG+j6xAZwfD\nxEA08++5DCC1mxgYfsLEc4DmMjBtAHH9YWIgmvHR/waQ2t2oahkY+MHOR1F7kYHrD7paoBuAJjqA\nyMMgAgYiGRiq0NUC/cYqMJ+BUwDNb8C6by/IAchuAAbU+YD9DLeA5vXBzATR51auO+D+v9D9f0n0\ntwKoBNBi8ZmSXQuAXGDuxQ8QccxrgF8lkWkHZsheGANPmoQpuQ1jwDXBBDBplDwEALuqhcZ8eNgE\nAAAAAElFTkSuQmCC\n", "text/latex": [ "$$- \\frac{1}{\\sin^{2}{\\left (x \\right )}}$$" ], "text/plain": [ " -1 \n", "───────\n", " 2 \n", "sin (x)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = sympy.symbols('x')\n", "f = lambda x: sympy.cos(x)/sympy.sin(x)\n", "sympy.simplify(f(x).diff())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*S pomocjo substitucije izracunaj nedoloceni integral\n", "$$\\int \\frac{\\cos(x)}{\\sin(x)}.$$\n", "*" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJUAAAAqBAMAAABIEATcAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiuzKJ\nRN0MreaOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADMUlEQVRIDe1VTWgTQRT+0rRNtpvE6MFDwdpL\nvUmXIhXFw4pI/cMGLVpqD1HaglBoD0UQfwgF66WHgCha0EYRtXowSLWIaHLQqigYvHio2Aha/6pU\nW8S/sr6ZzWRnt01KICfxwcx873tvvtk3M5kARbUlWrHk3Bsbi6YFdP3XKuhg/pn98rXszFV4zhrv\n5pjxGA1zIuUmk0tLjc2ZYRIfkIg6Q36dM7m0PLnu8GcMppxaeMSYptqeyJwII3bNy3JyOV9GiZgZ\n3iiNAU6ZhNqQNIHolWmBMqO6IktMcDQg/M0EykPCo7FOlxyCPjnIQuofkZAJHRT+agLKlPBorNAl\nh2BJ0O5L3jGOvdnFfGEi3ksJTq2EJgVt0J/0x4kIRAXrribUIjwanVq9UoxD5U6GGVlcydY5ZyUc\nIbjPcpmWe7QzBf+25o4Y8bulGNS9fd0DMxipudUWRq1hsFg7tfq2s51h4AHBcakO0roXxSXiAhEK\n4yq1rK0F0ugBPoaVn4K8AriT3olAN3CcuERcBHiNk4zZjtI0Y2mmZc81hHERuAD8EOxrOmvNN+2K\nAlXE0f01mE0RrtDVr8Ci5I6M1lta9ugXsne0YODXfjCty8B3obWSEuCJMTdBbTDIkGkVumuWtGKD\n8TrO2r7L/dAIMS0qXNai/DCbzbVSpg7rM98VOjX6hJM2rRPwzjq1qEaxS68YivJpvKO9r6HTSC3L\nUFusELAU2OTUor13aV0o18y9t51jDDfiOIwXY7e5inxfQP/HQ6xAuUa6COPB6zhN2a3Ueq211caZ\nqNJ6PwWPYdD32e8LXvb1p4aNDcPG1spvemYSFbaqo745Qu4hauzen2y5Rr1l57GmKkxuibSXVlRC\n1m9ISRN9gI5VxzN5lisGeKmhLEldPrP/tt30RJVqKKmWprg/0ZEGiVBlVkqw4JCA7M3x6lRKGqW/\nBcnGdaOde7i/Xmbnw9m3kIkG4oBn2qGVncVWy2u2N7rfTA04X2OTdoXyKtmDSsz0x5N2Xnji1go/\n31immdE3+ZIKi5UVUssC0u0LxAsI0xafKSA9b+pNgN65opgy+bQpXRQluqv0RBdJ6y8fDMtGW4X7\n5QAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{1}{2} \\log{\\left (- \\sin^{2}{\\left (x \\right )} \\right )}$$" ], "text/plain": [ " ⎛ 2 ⎞\n", "log⎝-sin (x)⎠\n", "─────────────\n", " 2 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.simplify(f(x).integrate())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "V zgorjem racunu poleg konstante znotraj funkcije $\\log$ manjka se absolutna vrednost (sympy racuna v kompleksnih stevilih), tako da je pravi rezultat\n", "$$ \\frac{1}{2}\\log(\\sin^2(x)) + C = \\log(\\sin^2(x)) + C.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*S pomocjo pravila za integriranje po delih izracunaj\n", "$$\\int\\frac{x}{\\sin^2(x)}.$$*" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAA2BAMAAABaYdL2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAALwklEQVR4Ae1aDYxdRRU+d/f9/+w+26aBGNvH\nVjepf/toEamx6VVjaIzyXjQxaULsdq01JK5dqwGNKd3UKiUIrG0EN4h9Gk0aG7obIIo0ypVqFDXs\nU5KCoaWLQvyhla2lldAt6zlzZu7PzNy7b7eV0MVJ9s6c7/zMfOfNvXdm9gK8TkqmMeeBOLU5uyxE\nh8F5kNowD58F55KZz/zJjiy4PMyd0MHK3H0AfjIfp4Xl4zwfzychqcua8W5vEE2xFUfUWbsufjoW\nJuPc3jD4WHx2oC9B943XbYayQ2po/9slwO2qG0udlLkx1+JgQDcZiAB8mLnNmeGiFR/urdpDA6xE\nhTRoawng9Fz18YG4YPF49qV4XeKcy7USHJWqY0S1IjXBcrzMrS2GQQinP7szZw8NkH4Wg0uDjlrg\nFNtaCl+u3hqrjVXkxmNVkJi57KkER6X6VEW1IjXBcrzMrS2GQYhMJXOq4AZypLXMA/AN7o6o7MIm\n2Fr5oV2VhE40ErRJd6vz7wRHqXJOWG0ErMbL3NphGMRyIB//g69GO9+gbv/pglDYqsA9EblN4Zkk\nu6TMwWiSJ+s6a1YbAavxMrd2GIZjdVfDUrhd4sePNIgZQdgB221MAs0Dxb+aUIAkZq7PDQxjWhN2\nEwnzeJlbewyDbia8oB1t5fnXkgaldp4ppeloiLak0n+SzBIzVx9KchW6vXYLhuV4mVtbDP1ohUof\ndMTch3UXzQKDPb5TbOP7HVNwRaw2TtGR9GpNfENAl/1WDPWUsgdn2B8vc2uDYRB5Y/MRuDYQI62n\nSAoMbo4obUL6leJUavZZoLsWJ3UkLCfOueJw2NTWLtstBByMl7nNzjDUw+KeRU/Gcf0L2QUG9UbI\nz9p0Vl3xrpusmkSwazxB/cSLe+PGh16ZqQRXoeqqWi0EHIyXuc3OUE6yL1lj+mBKe2Z19fuqC2mU\n1uhxlrfmHS97RnM9fJcG1D0NYFGDmZvO0BhqahxSxw550OmGg6bDArWz2u/ZOaJbzE9eVtP8Jqoa\n0L5Y4ndj4ODo7+kdpDO4gYADN+ZmMNSHmndhMWTOgBNJxVuCONzSnxD49L8opahnbqw577jOeeX6\nA9l4QAGyFg9rgxsIODBlbgZDfajbAa4E+BdAZIuJaLTkxqNywf6Wihq1IenDgR1eG14xJqcVHpe5\n28jA4AYCVr64ghDcDIb6UHcB/B1gnQfLAlconA8JotndiiKlV6LyfCV9ONDnzjcUwDnlGpc5omVy\nA40tczMYakNNDQPsq1Dm8g3VL8AXX17dhG14bPLYyUdXVAnXNxdO4oI1iDRbC4fjDPQ2IH31kz1i\nWm91Z3OJ1/9DqUKZW9rzGYBPDG57B+noQWhy0/c6zM1gqA21g+fSnRXIhGfV7fjb7IInAG6r8jJx\n+ZAalaz1p7GmblfE4fzWhfthYyU3VCWn45V2XU07vHm4BJkr7YJiNX0KbulADSfD4GbkiLnpDLWh\nFkVG0mfx7Tmi+sWaop9AOvALADG7jJ0NelyMgsPBs9wJ7xroHBbx1l1A1DuUb5C5XD+UpjH0NaRK\nCSoGN4aVL9bMTWeoDTXXJI9cDTM1DDOiEIDRodR73IWfyX37RJPgwICfDc53dmO51UNVN+tmv1Kc\ny8lt93exVazR86S7/5lo5tqOJvujoACcuRtGR+8YHRVb0QeAxn22PMmZ40eXwY1h7nKK4vBzT1xD\nDLWhdjXI9Bj+lYQTSVgwunOPO+HBIZW5IVb4V47ui/NtFGsFXL92j9c9+b+rC7lbd6tRBHNuDPmd\nS007/yQVnyYY3IxDhlDmVESstaGKzImHnZa5Ku4CJ35ZUZnT71ZHn8uhLubSlD9k64MDn2O3re5c\n3KO2ljcEzbnzqd5ejyzV3apx0+9W5mYw1Iaaa2LE+yDlQnoYW6rshVZ3P4z92lOZW15VKq713qLa\nqFQS8xoxekprBR8eJ/EkofEjhfd5qjX3+gXlEsy5rhakzxTkAPjU2OCmHyYzN4OhNlR6Q5Ra0OFG\n3xBPQQu33lt/4885zGOkGKudiDYq/F6J6Zpq+XVxHB734C7YcP2vGNuh0uybtN/wnyAqc4egdALy\n/elv/8EVUcSNYnCTbwS/H+ZmMNSGSmuR9VsG8dVT7vddATqvdlNrexftOTzz/gOvEl/97Cut765D\nznrzWz7wWb8lG6V1p93UkU83ID8zg3MPCz2YrOVaicYfTQT3l8zc4Zmr4GNb3oMr1plXkac8bza4\n6cfQzE1nqA+V7tF9MzMvA+Q9fBDQ3t9aiiMC9g3a+kcTRypXsR44usLDd3iFIfP6MCzZXyV4Qlyp\nFS14MsElejQRNgp2/GrOSW2x6XxkJ7VxpWArDGvcYhmqoeLui8t6rMTeXwGROjMpRN9AyiEbv+MQ\nJpp1TFdHZU2ugVVLV0q5gHnJ4h++ZmNM8q40jR5NEHiwwqqCvyNcIm1ldQDrr1L78xLQKoY1biZD\n9vKHul1FGcAG7/0VEq4Lp4TkG9AKMFpUx40oDDCIQAnuJjg1pSul7HwT3/pNEnIjEtIqf5z+0YSc\nWMHHJpm4U4jLPICHKd5YRYvKIsMaN5MhG/tDLboSoBHj9gV3sLYidyi+gbEbU1l3Wrq7WEoBs7pF\nVyp56UDvUdEuTykoWvv3hn804d+SfTIfnTGu4GzpGfQonDlq0QnDGrcYW/yPthyqen6IDO4Te38R\nTb/wUZdvMObqBrLjrJ45+a+kqRI5PK17GXLM4yU17Fuqowkjc7gamKXgwsJWGNa4mQx1V/nOUq+s\nOyu6Acs3K5gN/qxEv5Ydj+mZy06iST0znCHLd9MlscjFgHNksAl0zlF6+7YRdKAnpPzwQx1NGJmr\nVxMjozI7iRezZCclFuZmMjQdwwjt/a1leZNhafA3mxF2nF33tfdBtmcASt872rOKjMpEfPHbBjaR\nsLFC18TCJ+DXNUvPiXOONwMMoz2tO+WHH+powshcn5sYGJWO/w6JWCo4ws3KMOIWFeKei6A+AmKD\njsmom5BExzmcHPvdcg1y90PdRRwXkEGZ8IJ2TOu4wEehMJ3rx3MO/FamikiuCSA//CgMo4zFyNxD\njCddV9qVEg5zszK0ezN6LFZ5ImzQhVPAKKJjytxBD0/EipPQTVb5Wsiw3ggJ9uZGMhH/UqA959nc\nubeSXRei8sMPscEOHYiof1/rmyhy00uXpyNCljCTZ25WhlZnBmMXXABfERbSwPrbiY4pc/Do4EtQ\nHOGDZAGIwyBU1JsiStJF2KfpWHEMs3XOuWGGIlLm5LGNyBwK+pzr4IUT2cUWdadrBgxHuFkZam5h\nUez9w0DQzlepzQap5wLcb3HHRPzyB/ETjeI4Z26uc068XP05d/4DIP6NSncr3rvUWXqYrmbmumqM\nJ1732LUCDnOzMrT7CrQk9v52A1oBysMBuKxpseGOc60OeAg5vimauczTfySXCdfiqEEnSR7Fo9Yu\nOufAmfVelOkNIT/8UPNGn3NjLjnOUmhRbCkES/LMzcrQ4qgg3vsrSavXu+pwAH6qqUiUHedrZTx7\nKExfrzLXOU7azbCGqjberbzQv24INotzjoMVeBAdcSmiPvwo91Mkc87dy3DyNRWsqMOGBEvyzM3G\nMOygt3nvr6NSTnnqcMBpWExkx+XhMrwAmekvqMzxS2oXTzd/VWgJoKB8C1vO2l5XnHN8ctuN1Bve\nourDDzqaoKLmnPzYpPAsw7NcP2rXI8zkmZuVod3zwlGV9dWb4UN/2rTynetO/+4RWpvhaxbL16FO\nCZh9D4GbW+0TFnIHCObKegb8zElxme3nlLpLtHqexz1WwTrmAR1ltj8qsrTdBwdka4mPiMbPo+JC\nkI4wiZ1YOW0sHHDXUbPQLroSNE+ZhILPqCyOlzD0uBi72G1mbTkxqa0yIVAnE+CnMGq0ISouCKmz\nSTTE3ZbzqDlrKdseWfJkAtTRRDSKc2VUXhCSuL3S/WkP4MYFQei1I3EfdvXYjw9Ugjvutev70u6p\ngDffizMz+OivXNpE/j/6i56B/wKSb5X7Mx9FYwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{x}{2} \\tan{\\left (\\frac{x}{2} \\right )} - \\frac{x}{2 \\tan{\\left (\\frac{x}{2} \\right )}} - \\log{\\left (\\frac{1}{\\cos{\\left (x \\right )} + 1} \\right )} + \\log{\\left (\\tan{\\left (\\frac{x}{2} \\right )} \\right )} - \\log{\\left (2 \\right )}$$" ], "text/plain": [ " ⎛x⎞ \n", "x⋅tan⎜─⎟ \n", " ⎝2⎠ x ⎛ 1 ⎞ ⎛ ⎛x⎞⎞ \n", "──────── - ──────── - log⎜──────────⎟ + log⎜tan⎜─⎟⎟ - log(2)\n", " 2 ⎛x⎞ ⎝cos(x) + 1⎠ ⎝ ⎝2⎠⎠ \n", " 2⋅tan⎜─⎟ \n", " ⎝2⎠ " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = sympy.symbols('x')\n", "f = lambda x: x/sympy.sin(x)**2\n", "sympy.simplify(f(x).integrate())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tudi to resitev se da poenostaviti v \n", "$$ \\int\\frac{x}{\\sin^2(x)} = \\log(|\\sin(x)|) - x\\cot(x) + C.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. naloga" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Narisite lik, ki ga omejujeta krivulji $y=e^{2x}$ in $y=-e^{2x}+4$. Izracunajte ploscino lika.*\n" ] }, { "cell_type": "code", "execution_count": 277, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('