{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "# Table of Contents\n", "

1  微分(Diff)-I
1.1  単純な微分(diff)
1.2  偏微分(PartialDiff)
1.3  例題:関数の微分と増減表
1.3.1  解答例
1.4  例題:接線(Tangent)
1.4.1  解答例
2  極限(limit)
3  微分(Diff)-II
3.1  級数展開(series)
3.2  全微分(D)
3.3  複合関数の微分
3.4  課題
3.5  解答例
3.5.1  幾つかの関数の微分
3.5.2  高階微分
3.5.3  0以外での級数展開と表示
3.5.4  2次元関数の級数展開と3dplot
4  きれいな微分表示
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "
\n", "微分(differential)\n", "
\n", "
\n", "
\n", "file:/~/python/doing_math_with_python/differential.ipynb\n", "
\n", "cc by Shigeto R. Nishitani 2017 \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 微分(Diff)-I" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 単純な微分(diff) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "単純な一変数関数の一次微分は,以下の通り." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2*x - 3" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "x,y = symbols('x y')\n", "\n", "diff(x**2-3*x+2,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "高次の微分は,微分変数を必要なだけ並べる." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-sin(x)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(sin(x),x,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "さらに高階微分は次のように.これはxについての3次微分を表わす." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "24*x" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(x**4,x,3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 偏微分(PartialDiff) \n", "複数の変数を持つ多変数の関数では,微分する変数を明示すれば偏微分が求められる." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1 x + y\n", "─── - ─────\n", "x⋅y 2 \n", " x ⋅y\n" ] } ], "source": [ "eq1=(x+y)/(x*y)\n", "pprint(diff(eq1,x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 例題:関数の微分と増減表 \n", "\n", "次の関数とその1次導関数を同時にプロットし概形を確認し,さらに増減表を求めよ.\n", "\n", "\n", "$$\n", "\\frac {x}{{x}^{2}-2x+4}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 解答例 " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " x \n", "────────────\n", " 2 \n", "x - 2⋅x + 4\n", " x⋅(-2⋅x + 2) 1 \n", "─────────────── + ────────────\n", " 2 2 \n", "⎛ 2 ⎞ x - 2⋅x + 4\n", "⎝x - 2⋅x + 4⎠ \n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sympy import *\n", "from sympy.plotting import plot\n", "x = symbols('x')\n", "\n", "f0 = x/(x**2 -2*x + 4)\n", "pprint(f0)\n", "pprint(diff(f0,x))\n", "\n", "df0 = diff(f0,x)\n", "\n", "p = plot(f0,df0, show=False)\n", "p[0].line_color = 'b'\n", "p[1].line_color = 'r'\n", "p.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 例題:接線(Tangent) \n", "次の関数の$ x=3$での接線を求め,2つの関数を同時にプロットせよ.\n", "\n", "$$\n", "y={x}^{3}-2\\,{x}^{2}-35\\,x\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 解答例 \n", "与関数をf0と定義." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIYAAAAUBAMAAAC6+VjqAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB2klEQVQ4EX2SsUsbURzHv5e7JHeXS3xEkLqE\nxIZuIUVcOgg31DoFQgcnMWcCLhKSLR1DC6UZRHES65BCp066OVRy/4A0ILRQERXaoRQkCYptEK7v\n7kK4d7nXN7z3+34/v9+P34Mf4J7yGRlFk0/1hM882fF6/NAjmTCiizuMwRFxI9rjIMi6dstjrM+f\nQy5Kd2wuT6VMHgHUPp95SGjXI/yhnPY7wdr/l8L553FidRy5gbSx2YaS0b77/SFjCE9RK46caJdB\nQAHqPRKWZTB+ypTuGUMkSFyNnBWsMgz5Nv5AqWRZV9ZD14yTaEJ8cB1t/9MRw7BWFP5CZD1AK1d0\nxlP64x506IndoX/x9kg+XnqSZupHQu6Dyx4ZEBs5E8LcwssyBCP6Wt4J6lEyuOzFFkGM0NWbwat0\nCxES6at6UI83/2GRn3bFMdZRIx8hQDkcd5h9Z58DR8e7LBP2bNYy3eQbQt9LneC9o6fSru27c7YO\nZs+BTvsZnA0aOGVfTOfxXWoXNDWYWYT2+EXnINDsBVBJHiF7MN85BbI89hvY1rtACx9CPWRQanew\n7KunUnq7cdbkMDSgDujCR3+Eh7GeVMf0XPJbfbKHYllWk8MQvjgvQvq6SIT5TK6Bf5+fdK1GyawO\nAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{3} - 2 x^{2} - 35 x$$" ], "text/plain": [ " 3 2 \n", "x - 2⋅x - 35⋅x" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "from sympy.plotting import plot\n", "x = symbols('x')\n", "\n", "f0 = x**3 -2*x**2 - 35*x\n", "f0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "微分関数をdfと定義" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2 \n", "3⋅x - 4⋅x - 35\n" ] } ], "source": [ "pprint(diff(f0,x))\n", "df0 = diff(f0,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "接点(x0,f0(x0))で傾きdf(x0)の直線をf1と定義." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-20⋅x - 36\n" ] } ], "source": [ "x0 = 3\n", "a = df0.subs({x:x0})\n", "f1 = a*(x-x0)+f0.subs({x:x0})\n", "pprint(f1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "2つの関数を同時にプロット." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAADzCAYAAAB9llaEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVHX6wPHPCImammt5wUFNHEVAwBQVa7VWsaQL2s3s\npm4WrZbuZtrW7q/cdjPNttLM3KUysbbILitmiqa55jWEvF82vAuS4pXVQAWe3x9fuSkg4AxnGJ73\n6zUv5MzhnGcO48Mz3/O92EQEpZRSnqWO1QEopZRyPk3uSinlgTS5K6WUB9LkrpRSHkiTu1JKeSBN\n7kop5YE0uSullAfS5K6UUh7I2+oAVM1ls9maAzcBrYBsYCuQLCL5lgamlMKmI1RVZdlstt8AzwNN\ngQ3AEaAe0BFoD3wBvCEiWZYFqVQtp8ldVZrNZnsdmC4iB0p5zhu4E/ASkS+rPTilFKDJXSmlPJLe\nUFVVZrPZPrLZbNcU+/56m822zMqYlFKGJnd1JVYBP9hsttttNtsTwBJgqsUxKaVwfbOMtvl4uFWr\nVvGb3/yG6667jg0bNtCyZUurQ1KqprM54yBauasq++ijj3jssceYM2cOw4cP5/bbb2fTpk1Wh6WU\nQit3dQUGDRpEbGwszZs3ByApKYknn3ySDRs2WByZUjWaUyp3Te7Kqc6dO0fdunWtDkOpmkybZZQ1\nXnnlFY4fP17qc3Xr1uW7775jwYIF1RyVUqo4nX5AVVpISAh33XUX9erVo2vXrjRr1oycnBxSU1PZ\nuHEjkZGR/OlPf7I6TKVqNW2WUZX26KOP8tFHHzFlyhSaN29ORkYG9evXJzAwkD59+lC/fn2rQ1Sq\nJnNKs4xW7qrSUlJSOHToEP/6179Yvnx5ieeys7M1uSvlBjS5q0r73e9+R79+/dizZw/h4eGF20UE\nm83Gnj17LIxOKQXaLKOuwMiRI5k5c6bVYSjlMVasgJtv1q6QSlXZgAEDSExMtDoMpQrl5kJwMPz3\nv9oVUqkqO3r0qNUhKFXCxx/DTz8573ia3JVSymLnzsFf/wpduzrvmHpDVSmlLPbhh7B3L7zzjvOO\nqZW7ckt5eXnccMMN3HnnnQAcP36c/v3706FDB/r378+JEycK9500aRIOh4OAgAAWL15sVchKVUlO\nDrzyCvTqBVFRzjuuJnfllqZNm0ZgYGDh95MnT6Zfv36kpqbSr18/Jk+eDMD27duJj49n27ZtJCYm\nMmrUKPLy8qwKW6lKi42FtDT429/A5pRbqYYmd+V20tLS+Oabb3j88ccLtyUkJDBs2DAAhg0bxrx5\n8wq3DxkyBB8fH9q1a4fD4SApKcmSuJWqrF9+gVdfhZtvhr59nXtsTe7K7fzhD39gypQp1KlT9PY8\nfPgwvr6+ALRs2ZLDhw8DkJ6eTuvWrQv38/PzIz09vdTjxsbGEh4eTnh4OJmZmS58BUpVzIwZcPiw\n86t20OSu3MyCBQto3rw53bp1K3Mfm82GrQr/E2JiYkhOTiY5OZlmzZpdSZhKXbH//Q9eew1uvRV6\n93b+8bW3jHIrq1evZv78+SxcuJCcnByysrJ45JFHaNGiBRkZGfj6+pKRkVG4QIjdbufgwYOFP5+W\nlobdbrcqfKUqbNo0OHbMVO2uoJW7ciuTJk0iLS2Nffv2ER8fT9++ffn444+Jjo4mLi4OgLi4OAYO\nHAhAdHQ08fHxnD17lr1795KamkqPHj2sfAlKXdaJE/D3v8Ndd4Gr3q5auasa4fnnn2fw4MF88MEH\ntG3blrlz5wIQHBzM4MGDCQoKwtvbmxkzZuDl5WVxtEqV78034dQpM3DJVXRuGVUrhYeHk5ycbHUY\nqhY6dAh69oTBg+GNN0rdReeWUUqpmuZPf4IjR+Cpp1x7Hk3uSilVTVJSIC4Ofv978Pd37bk0uSul\nVDUQgWeegWbN4M9/dv359IaqUkpVg6++gpUr4R//gGuucf35tHJXSikXy8mB8eOhc2cYMaJ6zqmV\nu1JKudjbb5spfZcsAe9qyrpauSullAsdOWKm9L3zTujfv/rOq8ldKaVc6KWXIDvbjEitTprclVLK\nRbZsgffeg1GjICCges+tyV0ppVxABMaONT1jJkyo/vNrcldKKRf48kvIyIDJk6Fp0+o/vyZ3pZRy\nslOnYMwY8PGBxx6zJgbtCqmUUk72wgtmhaWvv66+ro8X08pdKaWcaO1aMwp19GgoZ0Exl9PkrpRS\nTnL+PMTEgN3uuhWWKkqbZZRSykn+/nfYuhUSEqBRI2tj0cpdKaWcYPdus7LS3XdDdLTV0WhyV0qp\nKyYCI0fCVVfB9OlWR2Nos4xSSl2hTz6Bb781id1utzoaQyt3pZS6AkeOwL/+BRERpnp3F1q5K6VU\nFYnAE0/Ad9+ZJfS8vKyOqIgmd6WUqqJZs2D+fHjzTQgOtjqakrRZRrmdgwcP8pvf/IagoCCCg4OZ\nNm0aAMePH6d///506NCB/v37c+LEicKfmTRpEg6Hg4CAABYvXmxV6KoW2b3bLHTdt6/56m40uSu3\n4+3tzRtvvMH27dtZt24dM2bMYPv27UyePJl+/fqRmppKv379mDx5MgDbt28nPj6ebdu2kZiYyKhR\no8jLy7P4VShPlpsLjz5qphaYPRvquGEmdcOQVG3n6+tL165dAWjUqBGBgYGkp6eTkJDAsGHDABg2\nbBjz5s0DICEhgSFDhuDj40O7du1wOBwkJSVZFr/yfFOmmGkG3n0XWre2OprSaXJXbm3fvn1s2LCB\nnj17cvjwYXx9fQFo2bIlhw8fBiA9PZ3Wxf6H+fn5kZ6efsmxYmNjCQ8PJzw8nMzMzOp5AcrjpKSY\n+dkfeAAefNDqaMqmyV25rdOnT3PvvfcydepUGjduXOI5m82GzWar1PFiYmJITk4mOTmZZs2aOTNU\nVUtkZ8Mjj0CLFqZqr+RbsFppcldu6fz589x77708/PDD3HPPPQC0aNGCjIwMADIyMmjevDkAdrud\ngwcPFv5sWloadncZSaI8yquvws6dpp3digU4KkOTu3I7IsKIESMIDAxk7Nixhdujo6OJi4sDIC4u\njoEDBxZuj4+P5+zZs+zdu5fU1FR69OhhSezKc8XHwyuvwMSJEBlpdTSXZxMR1x39o4+E0FAIDIS6\ndV13HuVRVq1aRe/evQkJCaHOhW4Ir776Kj179mTw4MEcOHCAtm3bMnfuXJpeKJ8mTpzIrFmz8Pb2\nZurUqURFRZV7jvDwcJKTk13+WpRn2L4devSAsDBYvtzl6cwpjT2uTe42mzm4t7dJ8LfeahqrwsIg\nNBRatnTduZUqhyZ3VVFZWSaxnzgBP/5YLXPHOCW5u3aE6vbtsGkTbN5svq5bB6tXFz3fvDnccYdp\nvAoNpbDK9/FxaVhKKVURIjBiBOzaBUuXus+kYBXh2uQeGGgeQ4YUbTt2DLZsKUr4hw7Bp59CTo55\nPiTEXNGC6r54le/Ot6aVUh7nrbfgiy9Mv/ZbbrE6mspxbbMMVOzgubmQmmoS/v798P33JvGnpRXt\nc8MNpsIPCyt6dOqkVb6qEm2WUZfz/fdmaoGBA02Cr8basga0uVc0uZfl+PGiCn/LFti4EbZtM1V+\n795miFinTkXVfdeuZvYerfLVZWhyV+U5dMgsbt2oESQnw0XDLFytFiT30hRU+Tt3wvr1Rck/LQ1+\n/WtYtQqaNTPJvm9f00gWFqZt+aoETe6qLL/8ArfdZuaLmTEDOneu9hBqaXIvy/HjpqrfsKHoJm6d\nOlAwx4i3N9x1F9SvX7I9X6v8WkmTuypNXh7cd59Z4Prf/zZNMhaoAb1lqlPTpqappnfvom25ueY2\nd0GyP3kSvv7arIlVIDAQfH1LJvzAQKhXr/pfg1LKUuPGwbx5MG2aZYndaTyncq+M48dNG/6mTXDw\nIPznP7B1a1GPnQ4dzCiF4gk/JARatdIq30No5a4uNn06jBlj5mafOtXSULRZxqny8kyVv3GjSfQb\nNxYlf4A+fUy//eLdM7XKr7E0uavi5s+Hu+82Lbdffmn5cnma3KvFiROmSWfXLtM7Z/Nmk/yzs+Gm\nm8zArE6dipJ9ly6myvf11SrfjWlyVwXWrzd92IODzdQCV19tdUSa3K1TUOUX9NgpaNM/cMC0+a9c\nCddeW7LC79LF/BHQKt8taHJXYD6M338/XHcdzJ1rZkdxA5rc3c6JE0U9dgq6aBZU+f7+ZoBWQZVf\nvC3fbtcqv5ppclepqaa11WaDFSvMrTY3ocm9Riio8ovPsVNQ5YNJ8Glpl063EBSkVb4LaXKv3fbv\nNx+ys7NNYg8KsjqiEjS512gnT17alr9li3m3AVx1lWkEDAwsmfS1x45TaHKvvdLTTcV+/LhpY+/S\nxeqILqHJ3ePk5cHu3aa6L96eX1Dld+oEmZklm3VCQ80fASdU+Xl5cOSIefMXPLKzzd8fb29T7fj6\nmlP5+5sh2tnZcPas+Vt04gS0a2fmfWva1Ozr52cerVq51wcRTe6106FDMGwY/PCDmeXRTdd00UFM\nHsfLCzp2NI/iSqvyY2NNZg0ONn8IAgKKEv5lqnwROHzYHKbgA8PmzeYe8LJlJfft2tX0Bg0MNPNa\nN2liZnGw2cxDBM6cgfPnzRwcmZnw3Xemx0FWVsljNWtmOhg1aGDCDQgwxw0I0JkhlOvt3m1WUMrP\nh8REt03sTqOVe01VUOXv2GGyakF7/v795s5QaqrJ1heq/KP2MFaf6cL81EDWbqjHzp0mMYP5GxAa\nChERJgHb7abattvNlPt1KrkYo4j5e3TkiLmdUPyRkWGGEBw4YPbr0wfWrCma/613b5Pwu3aFhg2d\nf9kKaOVeu2zebOaLOX8eFi2C7t2tjqhc2iyjSnHyJGzbRv6PG/l58SbOJm+mxZEtNJBf+IEedCOF\nnxt35IwjDFuvXrS4ycE1vUOrvcdOQXPPrl2QklI0Zqx1a/PhpE4dM2HT7bebxN+7t2nycVaImtxr\njzVrzJpAV18NS5a43c3T0mhyVyXl5Zk5qD/7zEx6dOSImSft0Yfy+LXvbvpcu5U2Rzdg23Khyhcp\nas9v2hR69QKHo6h5JyjIHKAaZWaaud6Skky7KMDixear3W4q/VtugX79TLt/VZO9JvfaYfFiuOce\n8+l06VJo29bqiCpEk7syDh2CDz6A99831W1yMtx5p5ndLiqqnBF3J0+WXBXrxAlYuNDMeQqmfO7Z\nE9q0KXkD18+v2qr8/HwzdGDlSvM4eLBopcbrrzdJPirKJPxrr634cTW5e75PPoGnnzZv38WL3WaA\nUkVocq/tVq2CuDj48ENTtffrB7/7nWnKaNCgigfNy4M9e4rutBa0l+zbZ56/8UbTzn/xHDtBQVdw\n0ooTgZ9+MlXYsmXm5m1YmEn8PXuaRB8VZRZaKO9egSZ3z5WXBy+8AK+/DsOHm6XymjSxOqpK0eRe\nG4mYKuTVV01C69/frED4xBOmRcVlTp0yyb74IilbtpiuMmC6vNhslw7GcnGVn5tr2uynT9/Fl1+e\nIScnBKhDt24mhOho00Pi4k8vmtw904kT8NBDpjfMU0+ZxH7VVVZHVWma3GsTEfjmG3jpJTO7QevW\nMH68WZm9Ggrm0uXnmyq/+DKIxav8zp1NZ/mLq/zgYKe25efl5dGxY0e+/fZbfHz86NXrRTp3/hOr\nV19DVpbpX9+vn1mnPTLSrM+iyd3z7Nhh5mDft8+soPTEE1ZHVGWa3GuLNWvg2WdNU3hODjz/PDz8\nsJly3i0VVPlbtxbNs7Nliwm+Th3zubljx0v75Vexyl+7di1/+ctfWHzhzuukSZMAePbZF1i50qzP\nMn++GYi1a5dpWdq/P5wVK5Lx93fqK1cWmT8fHnnE1AxffWXGU9Rg7p/cg4ODpX4197aorMzMTJo1\na2Z1GKU6e9YUvidOgJdXPn5+dbj2WveefaDc63n2rPkLlZ1d9PXcOVNa5+SYQVz165uPIgVf69W7\nbEf7EydOkJWVRdsLXSGOHTvGmTNnaNOmTYn9Dh06wdGjueTmNkJkLxDINdeYJptf/cq9RtAWcOf3\nZ3FWxZmfb/6PZGWZt4+/f/lFT024nikpKdtE5MpXbhURlz26desm7s4dY8zJEXnpJZEuXUQaNBD5\ny19EunS5yeqwKqTS1/PUKZE1a0TefVfkySdFIiJErr5aBERCQkTq1BEJCBAZPFjk9ddFvv5a5MAB\nkfz8wkN8/vnnMmLEiMLv58yZI0899VS5p61X7xp5802RX//anApEAgNF/u//RDZsKHF4S7nj+7M0\nVsS5aZNIcLD53Y0ZI/LLL5f/mZpwPYFkcUL+1ekH3Mzq1fD44+a+5ahRpp29VSv4+uscq0NzjcaN\nTf/6Xr2KthW05Re042/ebG7i7tlj+nmCKbVDQ6FPH27IzWXF1q3m00CDBqSlpWG328s9bZ0653nm\nGXjmGVP5/fvfZgWeV181/z53znQlve8+c8PanT8t1Tb5+WYZvBdeMMMzEhPN6FNVkiZ3N5GVZd6s\n775rBlosWgQDBlgdlUXq1DFdfxwOs/ZZgVOnTDt+8emT162j/bffMh2QRo3A4aDNsWNEPvQQLFhg\n/gC0bl1udrbbTX/op582A78WL4aPPoIpU2DSJPNRvyDRh4drorfSjh0weTLMmQODBsF775mFNlQp\nnFH+l/X45z//6brPLk7iDjH+8INIz54iTZuK/OEPIv/736X7uEOcFVHtcebliaSmSvKf/iRvN20q\nixs0kANt2hS1tYBIkyYiDzwgMnq0yPvviyQlSdvWrS976MxMs/uAASLe3iI+PiKdOomMHWtakvLy\nXP/y9PduZGWJjBtnfg9Nmoh88knVms5qwvUEYsQJ+Vd7y1goP9/0w33+eVM9/utfNf4uv/vIyipZ\n5Z85Y9pbTp8GIBxIDggwQ1tbty7quVNGlX/8uPn4/8kn8O23ptnGbjdD2++7z/zeLF5U2SOJwKef\nwrhxZtK5xx83TWdufk/0Srl/bxk0uZfp6FEzr/TChSZBvP++aUZWLpSfD3v3wubNhD/1FMk9epjh\nrjt2FO0zYIBpuy/eN79z5xKDCU6dMi0+X3xhEn5OjhkVa7ebVqR+/XQKY2fYsgVGjzYrJYWHm77r\nnj5N7wWa3GuqFSvMKLqjR03lPnKktuNWtxKDmIpX+QcPwn/+YzLLhSqfXr3g2LFLR9+2acPpMzYW\nLjQTts2ZA//7HzRqZKaAuPtu87fimmsse5k10vbtMHGimdNu+3Zz32PEiFr1ycg52eBK2nSA+4Ft\nQD4QftFzL7Rv3146duwoiYmJpbYtHTt2TCIjI8XhcEhkZKQcP37cae1WZRk8eLCEhYVJWFiYtG3b\nVsLCwkrdr23bttK5c2cJCwtzWvep/HyRqVNN+3qHDiI//lj2vhMmTJBWrVoVxvrNN9+Uut+iRYuk\nY8eO0r59e5k0aZJT4qyMcePGSUBAgISEhMigQYPkxIkTpe7niutZEWVdn4IY8vPzZfTo0dK+fXsJ\nCQmRlJQUs0NensiuXSJffSXy5psid98t4u9fsi0/MlKkd2+Rp58WiY2Vsyt/kMQvT8vjj4s0ayZy\nzTUi9eqZ3aZNE9mzp/QYDxw4ILfccosEBgZKUFCQTJ069ZJ9li9fLo0bNy58P7z88stOv1aXc7nf\nYZnXsoI2bzY9Xm020wX4j38UOXq0cjHu3Lmz8BqFhYVJo0aN5K233iqxj1XX8re//a00a9ZMgoOD\nC7eVkQNLy7UDgP8Cu4DnS9vnkp+pyE5l/jAEAgHAf4ondyAI2JSTkyN79uwRf39/yc3NveTFjh8/\nvvA/3KRJk+S5555z2oWsiLFjx5b5i23btq1kZmY67Vznz4uMGmWu+JAh5gZReSZMmCCvv/56ufvk\n5uaKv7+/7N69W86ePSuhoaGybds2p8VcEYsXL5bz58+LiMhzzz1X5u/Q2dezIsq7PgXJ6ZtvvpEB\nAwZIfn6+rF27Vnr06FH+QbOyRFavFpk5U2T8eJEbbxRp2LAo4dtsIoMGSf6998n+J/4mH96dIP0c\n+wTyBUSCgkT+/GeR5ctFzp41hzx06FBhIszKypIOHTpc8ntcvny53HHHHU69PpV1ud9hpa+lmILn\n++9FHnzQXL5GjUReeEHkyJErjzc3N1datGgh+/btK7Hdqmu5YsUKSUlJKZHcy8iBF+dZL2A34A/U\nBTYBQRfvd/GjkmvsXFL17xCR/5by1EAg3sfHh3bt2uFwOEhKSrpkp4SEBIYNGwbAsGHDmDdv3pWE\nUykiwty5c3nwwQddfq5Tp8wUvO++C889Z26cNmp05cdNSkrC4XDg7+9P3bp1GTJkCAkJCVd+4Eq4\n9dZb8fY2PWojIiJIS0ur1vOXpyLXJyEhgaFDh2Kz2YiIiODkyZNkZGSUfdBGjcz8Bb/7nekruXq1\n+QXv3m1u2E6YANdei23jBtq89yLD/z2Qpbuu58yN/Unz78PErNE0/uw9nvtNEq2bniE6Gr76ypfG\njbteOHwjAgMDSU9Pd+WlcYnKXMtjx0yTZFCQmaP/1Ckzb9K+fc67Ybps2TLat29fOHLZan369KFp\n06YltlUwB/YAdonIHhE5B8Rjcmy5rii5l8MOHCz4xs/Pr9Q36+HDh/H19QWgZcuWHD582EXhXGrl\nypW0aNGCDh06lPq8zWYjMjKSbt26ERsbW+Xz7NtnelIsW2Zumr72WsWXrZs+fTqhoaE89thjnDhx\n4pLn09PTad26deH3ZV3n6jJr1iyioqJKfc5Z17MyKnJ9nHIN69QxneEHDTLJ/f33zSQ2WVlmYqCZ\nM2kQeRP2lnkMOjmb53bFkERPMs40Yvy3t9L86fuJ6/A3xlw/n1F3bGPV923x84u45DRr1qwhNDSU\nqKgotm3bVrkYneByv8PLXctz58xKSA8/bAbmjR1rOhF8+CHMnQsvv2wGJTlLfHx8mcWb1deyQAVz\nYIl8CqRd2Fauyw5istlsS4GWpTz1ZxFxWplos9mwOemuYmRkJD///PMl2ydOnMjAgeYP3qefflpu\n1b5q1SrsdjtHjhyhf//+dOrUiT59+lQqjh9/NF230tPNwJi+fSse58iRI3nxxRex2Wy8+OKLPPvs\ns8yaNatS53eWilzPiRMn4u3tzcMPP1zqMZxxPWucRo1Kjr59+WXTY2ffPti8mTqbNvHrnTs5v2Y9\n9x/4AvZD3n4bL9Gcn4I2srttKJmtwmjSJwT7bYHs23eAxo0bsnDhQgYNGkRqamq1vpyq/A5PnvTi\no4/MxF6LF5spmps2hSefNLM2hoS4JtZz584xf/78wknkiuvatSsHDhygYUPrrmVpnJkDoQLJXUQi\nq3DcdKDwT3hZw8FbtGhBRkYGvr6+ZGRk0Lx58yqc6lJLly4t9/nc3Fy++uorUlJSytynIN7mzZtz\n9913k5SUVKlktG6d6SkRGGjWBO3UqfJxFnjiiSe48847S43x4MGiP+gVGXZfFZeLc/bs2SxYsIBl\ny5aV+ea80utZFRW5PtV1DQsVVPkXKn0bphH1/PHjjI+KIqpNW7rZrqN98maaps2h/v7/sX9ta1q/\nlsaeOg5+ahOGlz2UnocDSPlqE12iQ/Hyrp6uVpf7HdrtdnbvPkSdOmaZxLVrX+O227qQn2+mWX7g\nATO/fv/+rp+kbdGiRXTt2pUWpSy/1Lhx48J/33777YwaNYqjR49ynQVDXSuYA0vkU8DvwrbyXa5R\nviIPLr2hGkyxG6rt2rUr9YbquHHjStxMGD9+/BXesqiYRYsWSZ8+fcp8/vTp05J14Y7n6dOnpVev\nXrJo0aIKH/8//zH32BwOkf37qxbjoUOHCv/95ptvygMPPHDJPufPn5d27drJnj17Cm8Ybt26tWon\nrKJFixZJYGCgHCnnDtiVXs+qKu/6FNxQXbBgQYmbgN27d3d5XBfLz8+XRx99VH7/+9+XfCIvT/J3\n75G02AWyNuoFSWl3r6Q3cEgeNhGQ5fSRkzSWjY1/LcsCn5LEe/4py1/7QbavPy05Oc6N8eLfYURE\nL/nss6Xyww8ic+aIjBwp0r79SbHZzguIdO16Uho02CkvviiSlFQ9o3mLe+CBB2TWrFmlPpeRkSH5\nF4a3/vDDD9K6devC711t7969JW6olpEDL86v3sAeoB1FN1SDL97vkp+73A7l/jDcjWn/OQscBhYX\ne+7P/v7+0rFjR1m4cGHhixkxYoSsX79eRESOHj0qffv2FYfDIf369ZNjx445+1qWatiwYTJz5swS\n29LT0yUqKkpERHbv3i2hoaESGhoqQUFB8sorr1T42ImJpvtbUJBIsfxcaY888oh07txZQkJC5K67\n7ipM9sXjFDE9FDp06CD+/v6VitNZ2rdvL35+foXdyp588slL4ryS63mlSrs+M2fOlDZt2oiISayj\nRo0Sf39/6dy5c+F7szqtXLlSAAkJCSnR9XXmzJmF79Pp06dLUFCQhIaGSp+uEbLg/+Lk+8dny/eh\no2THdTdJlq2RCMhxmkgeNvnJ1kEW1LtXZtr/KhN7zJP/e3iP/O2v+RIXJ/L55yJLloisXWtmVtyx\nQ2TnTpG9e83XnTtFNm40nYISE0U++kjkz38+Ki1aTJVrrkmUevW2SL162YUdhNq3PySNGon07Zsv\nN9yQKC1aPCkBAbdYci1FzB+fpk2bysmTJwu3lXUte/bsKatXr66WuIYMGSItW7YUb29vsdvt8v77\n75eVAwFaAQulKJ/eDvyE6TXzZ6lAftZBTE40fz7cf79pivn2W48fIl2jedxKTPn5ZG3ay+GlW8j+\nYTM+OzfR5MBmmv1vN6fqNOVX+cc4RWP2Xh3C6jNh7PAOZX1uGM1v6Yxc3ZB69cDX1wzxP3PGTL1/\n+LBZS6Cgw8stt0BaGrRvb+Z0a9/ePDp1Ml9r0SAjV9MRqu5kwQKzGG/79mZIuk4l4N48LrmX5fRp\nM/p282Zyf9xE3o+b8d6xGa/TWZzs0J1rdiVzpkV7TrYJ5ZcOYRxuEcoZRxi5ftfjU89Gw4Zw7bWm\nUGnSREdSVxNN7u7i229NP/Y77oDZs80U5cq91ZrkXhoR2L/fjO1PSSmaXG3XLvMcwK23mhK++FKI\nnTtDw4YhfkRjAAAR+klEQVTWxl47aHJ3B+vWmUWX27c3U5JoxV4z1OrkXpbTp2HbtpJz7GzebPrr\ngynbo6NN+0vxeXauv15LeufS5G61LVvM6LrrroOVK013L1UzaHKvoIIqv6C6P3DAzHxXvMpv1MiM\n1PP3L0r4WuVfCU3uVtq1C3r3Nt2WV682xYuqOTS5X6EzZwrb8tm6FTZsMP8+dco8b7OZj7N33GFG\nLYWGmsf111d8iHbt5ZTkrsvsVUFmJvzxj3D+vJnqVRO7qnWuvhp69jSPAiKmsi++DOLu3fD22yWr\n/P79oUWLooQfEuKcyZZUCVq5V1JOjlmMISXFfDot/t5WNYdW7tXozJmitvxNm0zb/rx5RVU+FK2V\nW/wGbu2t8rVyr24iZj6MNWvMREea2JWqgKuvNksoFV9GqaDKL6jwf/7ZdDubN6+oyu/fv2SPHQ+v\n8tevX8+IESPYsmVLPcw0v0nAAyKytSrH0+ReCa++Ch9/DK+8YgYrKaWqyGaDtm3N4667irYXr/IL\neux8+in84x9F+wwaZH7+4h47NbzK7969O9HR0WzZsuUVoD7wcVUTO2izTIV9/jkMHgyPPGKWU9Oe\nXzWbNsvUIBdX+ZmZZqRgamrJtvyQEDMDp8NRY6v8c+fO4ePjsxnIAW4UkbyqHkuTewUkJcHNN0O3\nbmZedl38uObT5O4Bilf5mzebx/btZnHiAv7+ZnrWZs2Kqvx27dy2ys/IyKBVq1Z7MPN1dReRM1U9\nlib3yzh8GB591DQJLlum88W42vjx4/n666+pW7cu7du358MPP6RJkyYATJo0iQ8++AAvLy/efvtt\nbrvtNgBSUlIYPnw42dnZ3H777UybNu2y82JrcvdQxav8gko/Px+++qqoym/YEMLDoWNH6NLFJHw3\nqfKjo6P5+uuvH8bMAOkrIk9X+WAVmV3sCh41Wm6uSN++ZpbHDRusjqZ2KGtN1m3btkloaKiUti5v\n9+7dZe3atZKfny8DBgwoMQtpWapzkW7lBs6cMXMPv/eeyOjRIvffL9KkSdHatyBy660igwaJTJgg\n8uWXZoH0apyrOC4uTu655x6RonVTfwD6ShXzr95QLcdf/gLffQezZpk/8Mr1br311sJ/R0RE8MUX\nXwBmrckhQ4Zw8bq8119/PVlZWUREmGXphg4dyrx588pc7k/VUg0aQPfu5lFAxNy0LWjWOXYMFi40\n07vm55t9GjY0Vf2NN5pBWQVt+S6YQGro0KEMHTr0QmiSB1xRfzxN7mVYtMj0innsMfjtb62Opnaa\nNWsWDzzwAGDW5yxI4FC0PudVV12Fn5/fJdtLExsbW7j2Z2ZmpgsjVzWCzQZt2phHQY+dN9+EX34x\nbfkFzTpbtkBcXMm2/HbtzGyBv/pVUa8df3+3asvX5F6K/ftNr5jQUHjnHauj8TzOWJO1KmJiYoiJ\niQFMm7tSpSqryk9LKxqItXmzqfpnzCiq8q++2lT13bpBUFBRW75F08Rqcr/I2bOmy2NuLnzxBdSv\nb3VEnqcqa7KWtdap3W4nLS3tku1KOZXNBq1bm0fx9YwvrvI3b4YffjBJv0C7dibR9+lj+vVXU5Wv\nyf0iL71kuj5++SV06GB1NLVPYmIiU6ZMYcWKFTRo0KBwe3R0NA899BBjx47l0KFDpKam0qNHD7y8\nvGjcuDHr1q2jZ8+ezJkzh9GjR1v4ClStUl6VXzzhFwzKSkkx+xRU+ZGRZgmsgnl2nFjla1fIYhYu\nhIcfhjFj4OWXrY6mdnI4HJw9e5Zrr70WMDdV/3FhdOLEiROZNWsW3t7eTJ06tfCmaXJycmFXyKio\nKKZPn65dIZX7yc4u2S9/0ybw9jZ9rAtcfz3s3atT/jrT0aNmCurmzWH9eh2o5Ok0uSu3cHGVv2kT\nfPaZThzmLCLw5JNmMeAlSzSxK6WqSfG2/DvucOqhNbkDH31kBrC99ppp9lJKqZrOfTplWmT/fhg9\n2qyq9OyzVkejlFLOUauTe34+DBtmvsbFmXV/lVLKE9TqZpm33jKrKX3wgemKqpRSnqLWVu47dph5\n2QcO1OkFlFKep1ZW7vn5EBMDhw6ZOf914Q2llKeplcl91ixYtco0x/j6Wh2NUko5X61rljl8GMaP\nN9M8aHOMUspT1brkPnasmevnn//U5hillOeqVcl9yRL45BN44QXo1MnqaJRSynVqzdwyv/xiJmHz\n9jbTN9SrZ3VEyko6t4xyYzq3TGW88grs2QPLl2tiV0p5vlrRLLNlC7z+OgwfDrfcYnU0Sinleh6f\n3PPzzYyPTZrA3/9udTRKKVU9PD65f/qpmRzsjTfgwvoPSinl8Tw6uWdlma6PAQHw6KNWR6OUUtXH\no2+oTp4MR47AggXap10pVbt4bOW+fz+8+aap2IuvXauUUrWBxyb355+HOnVg4kSrI1FKqernkcl9\n7VqIj4dx48zShEopVdt4XHIXMTdRW7aE556zOhpVVW+88QY2m42jR48Wbps0aRIOh4OAgAAWL15c\nuD0lJYWQkBAcDgdjxozBxaOulaoRPC65z50L69aZ5piGDa2ORlXFwYMHWbJkCW3atCnctn37duLj\n49m2bRuJiYmMGjWKvLw8AEaOHMl7771HamoqqampJCYmWhW6Um7Do5J7Tg788Y/QpYtZG1XVTM88\n8wxTpkzBVqyLU0JCAkOGDMHHx4d27drhcDhISkoiIyODrKwsIiIisNlsDB06lHnz5lkYvVLuwaO6\nQk6bZnrJzJqli13XVAkJCdjtdsLCwkpsT09PJyIiovB7Pz8/0tPTueqqq/Dz87tke2liY2OJjY0F\nIDMz0wXRK+U+PCa5HzlimmKio6FvX6ujUeWJjIzk559/vmT7xIkTefXVV1myZIlLzhsTE0NMTAxg\nZoVUypN5THKfMAGys2HKFKsjUZezdOnSUrdv2bKFvXv3FlbtaWlpdO3alaSkJOx2OwcPHizcNy0t\nDbvdjt1uJy0t7ZLtStV2HtHm/t//wvbtRVMNqJopJCSEI0eOsG/fPvbt24efnx8//vgjLVu2JDo6\nmvj4eM6ePcvevXtJTU2lR48e+Pr60rhxY9atW4eIMGfOHAYOHGj1S1HKch5Rub/8MqSkwOefWx2J\ncpXg4GAGDx5MUFAQ3t7ezJgxA68LN1beffddhg8fTnZ2NlFRUURFRVkcrVLWq/ErMW3dCqGhppfM\npEmuPpvyFLoSk3JjTpkJq8Y3y7z8sunPPm6c1ZEopZT7qNHJfeNG+OIL+MMfdK52pZQqrkYn9wkT\nzApLY8daHYlSSrmXGpvc16+H+fPh2WdNgldKKVWkxib3CROgaVMYM8bqSJRSyv3UyOS+di0sWmRm\nfWzc2OpolFLK/dTI5P7ii9CsGTz9tNWRKKWUe6pxg5hWrIBly+CNN+Dqq62ORiml3FONq9xfegl8\nfWHkSKsjUUop91WjkvvKlXD8uBm4VL++1dEopZT7qlHJffJkOHwYHn7Y6kiUUsq91ZjkvnkzLFxo\nuj42aGB1NEop5d5qTHKfMsXcQB01yupIlFLK/dWI5L5vH8THw5NPmoFLSimlylcjkvubb0KdOvDM\nM1ZHopRSNYPbJ/fMTHj/fXMTtdg6yEoppcrh9sn9nXfM2qjPPWd1JEopVXO4dXI/fdok94EDITDQ\n6miUUqrmcOvk/v77ZtDS889bHYlSStUsbpvcz583N1L79IGICKujUUqpmsVtJw779FM4eBD+8Q+r\nI1FKqZrHLSv3/Hx47TUICYGoKKujUdVt+vTpdOrUieDgYJ4rdid90qRJOBwOAgICWLx4ceH2lJQU\nQkJCcDgcjBkzBhGxImyl3IpbVu6LF5ul80aPBpvN6mhUdVq+fDkJCQls2rQJHx8fjhw5AsD27duJ\nj49n27ZtHDp0iMjISH766Se8vLwYOXIk7733Hj179uT2228nMTGRKK0KVC3nlpX722/D3r1wzz1W\nR6Kq28yZM3n++efx8fEBoHnz5gAkJCQwZMgQfHx8aNeuHQ6Hg6SkJDIyMsjKyiIiIgKbzcbQoUOZ\nN2+elS9BKbfgdsn9v/+FxEQzX3vdulZHo6rbTz/9xMqVK+nZsyc333wz69evByA9PZ3WrVsX7ufn\n50d6ejrp6en4FRvdVrC9NLGxsYSHhxMeHk5mZqZrX4hSFnO7Zpl33jFJ/cknrY5EuUpkZCQ///zz\nJdsnTpxIbm4ux48fZ926daxfv57BgwezZ88ep5w3JiaGmJgYAMLDw51yTKXclVsl91OnYPZsePBB\nuPBpXHmgpUuXlvnczJkzueeee7DZbPTo0YM6depw9OhR7HY7Bw8eLNwvLS0Nu92O3W4nLS3tku1K\n1XZu1Swze7YZlTp6tNWRKKsMGjSI5cuXA6aJ5ty5c1x33XVER0cTHx/P2bNn2bt3L6mpqfTo0QNf\nX18aN27MunXrEBHmzJnDwIEDLX4VSlnPbSr3/HyYPh1uugm6dbM6GmWVxx57jMcee4zOnTtTt25d\n4uLisNlsBAcHM3jwYIKCgvD29mbGjBl4eXkB8O677zJ8+HCys7OJiorSnjJKATYX9wmu8MG/+Qbu\nvBM++wwGD3ZlSEqZNvfk5GSrw1CqNE7pAO42zTJvvw12O9x9t9WRKKVUzecWyX3HDliyxCyhd9VV\nVkejlFI1n1sk93feAR8feOIJqyNRSinPYHlyP3kS4uLgoYegWTOro1FKKc9geXL/+GM4c0a7Pyql\nlDNZmtxFzI3UwYPhhhusjEQppTyLpcl9xQpITTVdIJVSSjmPpck9NtZM7XvffVZGoZRSnsey5H70\nKHz5JQwdCvXrWxWFUkp5JsuS+5w5cO6cdn9USilXsCS5i5gmmRtvhM6drYhAKaU8myUTh33/vVmU\nY/ZsK86ulFKez5LKveBGqk4QppRSrlHtyf3YMfjiC3j0Ub2RqpRSrlLtyV1vpCqllOtVa3IvuJHa\nqxeEhFTnmZVSqnap1huqq1bBzp3w4YfVeVallKp9qrVyj42Fa67RG6lKKeVq1Zbcjx2DdevgkUeg\nQYPqOqtSStVO1dYsEx8Pu3aZNVKVUkq5VrVV7nFxEBoKXbtW1xmVUqr2qpbkvn07rF8Pw4dXx9mU\nUkpVS3KPiwMvL7OUnlLl2bhxIxEREXTp0oXw8HCSkpIKn5s0aRIOh4OAgAAWL15cuD0lJYWQkBAc\nDgdjxoxBRKwIXSn3IiKufEhurkirViJ33SVKXVb//v1l4cKFIiLyzTffyM033ywiItu2bZPQ0FDJ\nycmRPXv2iL+/v+Tm5oqISPfu3WXt2rWSn58vAwYMKPz58nTr1s1lr0GpK+SU/Ovyyn3pUjh0CIYN\nc/WZlCew2WxkZWUBcOrUKVq1agVAQkICQ4YMwcfHh3bt2uFwOEhKSiIjI4OsrCwiIiKw2WwMHTqU\nefPmWfkSlHILLu8tM3s2/OpXupSeqpipU6dy2223MW7cOPLz81mzZg0A6enpREREFO7n5+dHeno6\nV111FX5+fpdsL01sbCyxsbEAZGZmuvBVKGU9lyb3U6dg3jwYMQJ8fFx5JlWTREZG8vPPP1+yfeLE\niSxbtoy33nqLe++9l7lz5zJixAiWLl3qlPPGxMQQExMDQHh4uFOOqZS7cmlynzsXcnK0SUaVVF6y\nHjp0KNOmTQPg/vvv5/HHHwfAbrdz8ODBwv3S0tKw2+3Y7XbS0tIu2a5UbefSNvfZsyEoCLRIUhXV\nqlUrVqxYAcB3331Hhw4dAIiOjiY+Pp6zZ8+yd+9eUlNT6dGjB76+vjRu3Jh169YhIsyZM4eBAwda\n+RKUcgsurdzXrIHXXgObzZVnUZ7kvffe4/e//z25ubnUq1evsI08ODiYwYMHExQUhLe3NzNmzMDL\nywuAd999l+HDh5OdnU1UVBRRUVFWvgSl3IJNXNgn2MsLOXgQLnR4UMpthIeHk5ycbHUYSpXGKeWw\nS5tlbr1VE7tSSlnBpcl93DhXHl2pqrvuuuusDkEpl3Jpswyg48CVUqpy3L9ZRimllDU0uSullAfS\n5K6UUh5Ik7tSSnkgTe5KKeWBNLkrpZQH0uSulFIeSJO7Ukp5IFcv1qFThimllAW0cldKKQ+kyV0p\npTyQJnellPJAmtyVUsoDaXJXSikPpMldKaU8kCZ3pZTyQJrclVLKA2lyV0opD6TJXSmlPND/A7H/\n9GPHEVhaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = plot(f0,f1, show=False)\n", "p[0].line_color = 'b'\n", "p[1].line_color = 'r'\n", "p.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 極限(limit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "微分の原理を理解する時に不可欠な極限(limit)について記す." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "oo\n", "0\n", "1\n" ] } ], "source": [ "from sympy import *\n", "x = symbols('x')\n", "print(limit(x, x, 0))\n", "print(limit(x, x, oo))\n", "print(limit(1/x, x, oo))\n", "print(limit(x/sin(x), x, 0))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAOBAMAAADd6iHDAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAf0lEQVQIHWNgVDJ2YICAMAb2H1BmKgPDTChz\nFgNDvgOEvT8AzgQKrA9gPZPYUwNkcXxnCGd4dWA1kMmVwFDKUB9wEchUYmAIYNgMZDDwKIDIPyDi\nEgOjAAPLFyCLRYGBR+AqzweGowxS5UVZHH+ZPzA+YNj///8v1pyjh94xAABbhSE1xl33oAAAAABJ\nRU5ErkJggg==\n", "text/latex": [ "$$2 x$$" ], "text/plain": [ "2⋅x" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = symbols('d')\n", "f = x**2\n", "df = diff(f,x)\n", "print(df.subs({x:2}))\n", "\n", "limit((f.subs({x:x+d})-f.subs({x:x}))/d,d,0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 微分(Diff)-II" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 級数展開(series) \n", "Taylor級数は以下のようにして,中心点(x=a),次数(4次)を指定する." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\sin{\\left (a \\right )} + \\left(- a + x\\right) \\cos{\\left (a \\right )} - \\frac{1}{2} \\left(- a + x\\right)^{2} \\sin{\\left (a \\right )} - \\frac{1}{6} \\left(- a + x\\right)^{3} \\cos{\\left (a \\right )} + \\mathcal{O}\\left(\\left(- a + x\\right)^{4}; x\\rightarrowa\\right)$$" ], "text/plain": [ " 2 3 \n", " (-a + x) ⋅sin(a) (-a + x) ⋅cos(a) ⎛ 4 \n", "sin(a) + (-a + x)⋅cos(a) - ──────────────── - ──────────────── + O⎝(-a + x) ; \n", " 2 6 \n", "\n", " \n", " ⎞\n", "x → a⎠\n", " " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "from sympy.plotting import plot\n", "init_printing()\n", "\n", "x,a = symbols('x a')\n", "\n", "sin(x).series(x,a,4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Oはどれくらいのエラーがあるかの表示ですが,関数として取り込むにはOのところが邪魔です.これはremoveO(まんまやん!)で取り除けます." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 3 2 \n", " (-a + x) ⋅cos(a) (-a + x) ⋅sin(a) \n", "- ──────────────── - ──────────────── + (-a + x)⋅cos(a) + sin(a)\n", " 6 2 \n", " 3 \n", " (x - π) \n", "-x + ──────── + π\n", " 6 \n" ] } ], "source": [ "fs = series(sin(x),x,a,4)\n", "\n", "f0 = fs.removeO()\n", "pprint(f0)\n", "f1 = f0.subs({a:pi})\n", "pprint(f1)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y = symbols('y')\n", "p = plot(sin(x),f1, (x,0,2*pi), ylim=[-1,1], show=False)\n", "p[0].line_color = 'b'\n", "p[1].line_color = 'r'\n", "p.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 全微分(D) \n", "sympyでは全微分(total derivatives)は用意されてないようです.\n", "\n", "下のMapleコマンドDを参照して,考えてください.\n", "```maple\n", "> f:=unapply(x^4*exp(-y^2),(x,y));\n", "> D(f(x,y));\n", "> (D@@2)(f(x,y));\n", "```\n", "$$\n", "f\\, := \\,( {x,y} )\\mapsto {x}^{4}\\exp(-{y}^{2}) \\notag \\\\\n", "4\\, {D} \\left( x \\right) {x}^{3}\\exp(-{y}^{2})+{x}^{4} {D} \\left( \\exp(-{y}^{2}) \\right) \\notag \\\\\n", "4\\, \\left( D^{ \\left( 2 \\right) } \\right) \\left( x \\right) {x}^{3}\\exp(-{y}^{2})+12\\, \\left( {D} \\left( x \\right) \\right) ^{2}{x}^{2}\\exp(-{y}^{2})+8\\, {D} \\left( x \\right) {x}^{3} {D} \\left( \\exp(-{y}^{2}) \\right) +{x}^{4} \\left( D^{ \\left( 2 \\right) } \\right) \\left( \\exp(-{y}^{2}) \\right) \\notag\n", "$$\n", "\n", "ここで,D(x)などはxの全微分を表わす.これは,x,yを変数としているので\n", "```maple\n", "> diff(x,x);\n", "> diff(exp(-y^2),y);\n", "```\n", "$$\n", "1 \\notag \\\\\n", "-2\\,y\\exp(-{y}^{2}) \\notag\n", "$$\n", "であるがMapleには分からない.そこで全微分の最終形を得るには,あらかじめD(x)などの結果を求めておき,subsで明示的に代入する必要がある.\n", "```maple\n", "> dd:=D(f(x,y)):\n", "> eqs:={D(x)=diff(x,x),D(exp(-y^2))=diff(exp(-y^2),y)};\n", "> subs(eqs,dd);\n", "```\n", "$$\n", "{\\it eqs}\\, := \\, \\left\\{ {D} \\left( x \\right) =1, {D} \\left( \\exp(-{y}^{2}) \\right) =-2\\,y\\exp(-{y}^{2}) \\right\\} \\notag \\\\\n", "4\\,{x}^{3}\\exp(-{y}^{2})-2\\,{x}^{4}y\\exp(-{y}^{2}) \\notag\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 複合関数の微分 \n", "```maple\n", "> diff(f(x)*g(x),x);\n", "> diff(f(g(x)),x);\n", "```\n", "$$\n", "\\left( {\\frac {d}{dx}}f \\left( x \\right) \\right) g \\left( x \\right) +f \\left( x \\right) {\\frac {d}{dx}}g \\left( x \\right) \\notag \\\\\n", "\\mbox {D} \\left( f \\right) \\left( g \\left( x \\right) \\right) {\\frac {d}{dx}}g \\left( x \\right) \\notag\n", "$$\n", "\n", "```maple\n", "> f:=x->exp(x);\n", "> g:=x->cos(x);\n", "> diff(f(x)*g(x),x);\n", "> diff(f(g(x)),x);\n", "```\n", "$$\n", "f\\, := \\,x\\mapsto \\exp(x) \\notag \\\\\n", "g\\, := \\,x\\mapsto \\cos \\left( x \\right) \\notag \\\\\n", "\\exp(x)\\cos \\left( x \\right) -\\exp(x)\\sin \\left( x \\right) \\notag \\\\\n", "-\\sin \\left( x \\right) \\exp(\\cos x ) \\notag\n", "$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " x x \n", "- ℯ ⋅sin(x) + ℯ ⋅cos(x)\n", " cos(x) \n", "-ℯ ⋅sin(x)\n" ] } ], "source": [ "f = exp(x)\n", "g = cos(x)\n", "\n", "pprint(diff(f*g, x))\n", "pprint(diff(f.subs({x:g}), x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 課題 \n", "1. 次の関数を微分せよ.\n", " 1. $ {x} \\log x$, \n", " 1. $ \\frac{1}{ \\left( 1+x \\right) ^{3}}$, \n", " 1. $ \\sqrt{4\\,x+3}$, \n", " 1. $ \\frac{1}{ a^2+ \\left( x-x_0 \\right)^2 }$\n", "1. 次の関数の1次から5次導関数を求めよ.\n", " 1. $\\sin^2 x$, \n", " 1. ${e}^{x}$\n", "1. 以下の関数をx0まわりで3次までテイラー展開し,得られた関数ともとの関数をプロットせよ.さらに5次まで展開した場合はどう変化するか.\n", " 1. $ y=\\sin x, x_0=0 $, \n", " 1. $ y=\\cos x, x_0=\\frac{\\pi}{2}$\n", "1. (発展課題)$f \\left( x,y \\right) ={e}^{x}{\\it log} \\left( 1+y \\right) $を$ x=0,\\,y=0$のまわりで3次まで展開せよ." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 解答例" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 幾つかの関数の微分\n", "```maple\n", "> diff(x*log(x),x);\n", "> diff(1/(1 + x)^3,x);\n", "> diff(sqrt(4*x + 3),x);\n", ">diff(1/(a^2+(x-x0)^2),x);\n", "```\n", "$$\n", "\\ln \\left( x \\right) +1 \\notag \\\\\n", "-3\\, \\left( 1+x \\right) ^{-4} \\notag \\\\\n", "2\\, \\left( \\sqrt{4\\,x+3} \\right) ^{-1} \\notag \\\\\n", "-{\\frac {2\\,x-2\\,{\\it x0}}{ \\left( {a}^{2}+ \\left( x-{\\it x0} \\right) ^{2} \\right) ^{2}}} \\notag\n", "$$" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "log(x) + 1\n", " -3 \n", "────────\n", " 4\n", "(x + 1) \n", "2/sqrt(4*x + 3)\n", " -2⋅x + 2⋅x₀ \n", "─────────────────\n", " 2\n", "⎛ 2 2⎞ \n", "⎝a + (x - x₀) ⎠ \n" ] } ], "source": [ "from sympy import *\n", "x,a,x0 = symbols('x a x0')\n", "\n", "pprint(diff(x*log(x),x))\n", "pprint(diff(1/(1+x)**3,x))\n", "print(diff(sqrt(4*x+3),x))\n", "pprint(diff(1/(a**2+(x-x0)**2),x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 高階微分\n", "```maple\n", "> diff(sin(x)^2,x);\n", "> diff(sin(x)^2,x$2);\n", "```\n", "\n", "$$\n", "2\\,\\sin \\left( x \\right) \\cos \\left( x \\right) \\notag \\\\\n", "2\\, \\left( \\cos \\left( x \\right) \\right) ^{2}-2\\, \\left( \\sin \\left( x \\right) \\right) ^{2}\\notag\n", "$$" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", " 2 \n", "sin (x)\n", "1\n", "2⋅sin(x)⋅cos(x)\n", "2\n", " ⎛ 2 2 ⎞\n", "2⋅⎝- sin (x) + cos (x)⎠\n", "3\n", "-8⋅sin(x)⋅cos(x)\n", "4\n", " ⎛ 2 2 ⎞\n", "8⋅⎝sin (x) - cos (x)⎠\n" ] } ], "source": [ "from sympy import *\n", "x = symbols('x')\n", "for i in range(0,5):\n", " print(i)\n", " pprint(diff(sin(x)**2,x,i))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", " x\n", "ℯ \n", "1\n", " x\n", "ℯ \n", "2\n", " x\n", "ℯ \n", "3\n", " x\n", "ℯ \n", "4\n", " x\n", "ℯ \n" ] } ], "source": [ "from sympy import *\n", "x = symbols('x')\n", "for i in range(0,5):\n", " print(i)\n", " pprint(diff(exp(x),x,i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 0以外での級数展開と表示\n", "テキストを参照して." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2次元関数の級数展開と3dplot" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "y**2*(-x**2/4 - x/2 - 1/2) + y*(x**2/2 + x + 1)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "\n", "x,y = symbols('x y')\n", "f = exp(x)*log(1+y)\n", "fx = f.series(x,0,3).removeO()\n", "fxy = fx.series(y,0,3).removeO()\n", "\n", "fxy" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sympy.plotting import plot3d\n", "\n", "p = plot3d(f, fxy, (x, -0.5, 2), (y, -0.5, 2), show = False)\n", "p[0].surface_color = 'r'\n", "p[1].surface_color = 'b'\n", "p.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# きれいな微分表示 \n", "\n", "以下のようにすると表示がきれい." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 2\n", " 4 -y \n", "x ⋅ℯ \n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAAAtBAMAAABrHJlvAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZnaJIhC7RM0y75nd\nVKu+STY0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC5ElEQVRIDZ2Vz2sTURDHJ2le0vxu9SyNLZTi\noY1QBD3oihSxlyyxqKA0OYm39liK2NU/QALeBGnEkxdpxYtUsGpRpKg9efHQoggiKPVH9SBaZ96P\n2bebkKV9kH2fN9/5vk2yb3YAaMQGRuW888sonJneuYtu6UG6uStnFm3fduUk0+runOl98Mty9lrc\nDic5mL46cfgPryDu+dxCNw45kOKE2QYkv/s5s67PLVRPLQMM63ACXbnfnCPuMrYBT2wBdPcopYCc\naXJWYYOxHeSXARLooFH0AGpliXSZdxiTTD6cI/mrWtcWAEb833bdz1r3oyYoPhLNK6FWAnhmFEj8\nZBTHWp3nx8qod6MFR3IDCnVJdMkuM8Zrrc4326THmjIp8WRiSYK8ZErMt4LO1FHI6a0S+lHkDzqc\nDZUGczno7Cq6N412x4A19zHHnKBz7DIMGvGTAWt+xFwF43x7EYcLH+C9EUcMWPNz5ndLjxd5QfAC\n+HitOwFFLqyjD5Xgf/sytWny59cM+bM8+tXhkwMliE19ATjd/8CIVwY9g7UeQzwLejmIcuxpzpOx\n1Aqc0KJwkpxfLOmgPyXI2eV2beUdGRxfEw+1WijPaMKzXmY0kP6LJKC7rgOf9+x3Nab2+unFBdi2\nxiampOmeuGdJTgD/9Bya0Bke8ttiMTS08COcoNZWVZoEQf9t3h2BuCtDeMziRrPmSo+10Eg3mVub\nguNqPQSCn4qV3O553kN9sr+6qDeN3++1DIxz04ihdnSJ1U7QR78l1I6OdDKwRlnhdrROu0WO15iR\nbQbbUZsT2bqPPKMUXrU0fCtFj7x8zYXakX45dXZnPdRVO1JlRemCDm7UyNAzk+3IKisYirKhfgA/\nqh1ZZQWZRrT1NqaodmSVFT2mqCE7rGlHXFYA16KMMO5gimlHXFYAF6K+rnhFe6t2ZJUV/vQVEjoM\n9TpS7cgqK3Sc6uAi6azUVTuyyirCZcmBdmTFo/A/95ipPm2A0kMAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{\\partial}{\\partial x}\\left(x^{4} e^{- y^{2}}\\right)$$" ], "text/plain": [ " ⎛ 2⎞\n", "∂ ⎜ 4 -y ⎟\n", "──⎝x ⋅ℯ ⎠\n", "∂x " ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = x**4*exp(-y**2)\n", "pprint(f)\n", "\n", "df = Derivative(f,x)\n", "#df.doit()\n", "df" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.8.3" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "colors": { "hover_highlight": "#DAA520", "navigate_num": "#000000", "navigate_text": "#333333", "running_highlight": "#FF0000", "selected_highlight": "#FFD700", "sidebar_border": "#EEEEEE", "wrapper_background": "#FFFFFF" }, "moveMenuLeft": true, "nav_menu": { "height": "260px", "width": "253px" }, "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 4, "toc_cell": true, "toc_section_display": "block", "toc_window_display": false, "widenNotebook": false } }, "nbformat": 4, "nbformat_minor": 2 }