{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 数値微分" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "仮に、10分で2km = 0.2 km/分 という速度があったとする。これはあくまで「平均速度」でしかない。 \n", "では、「ある瞬間の速度」を知りたい場合(スタート直後の速度とか)は?…これが微分。\n", "\n", "$$\n", " \\frac{df(x)}{dx} = \\lim_{h \\to 0}\\frac{f(x+h) - f(x)}{h}\n", "$$\n", "\n", "関数$f(x)$の、$x$のある瞬間の値がどれくらい変化するのか、という公式。変化量は$h$で、$h$は限りなく$0$に近い、という意味になる。\n", "\n", "ただし、数値での計算では限界がある。コンピューターであればなおさら、数値の型には上限・下限があるからだ。" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def numerical_diff(f, x):\n", " \"\"\"\n", " 中心差分による数値微分を計算します\n", " \n", " Parameters\n", " ----------\n", " f : function\n", " 微分を求めたい、1つの引数を受け付ける関数\n", " x : any\n", " fに入れる値 \n", " \"\"\"\n", " h = 1e-4 # 0.0001\n", " return (f(x+h) - f(x-h)) / (2*h)\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXhV1b3/8feXhAAJcwbmAGGSQcZAglKqOFzlUlGrFixSlUGtVu291uut/Vlbe68d1OvUWlFQkNEJBxxxlgqBAGEM8xSmDIwJgYQk6/dHwr2YJiFAdvY5J5/X8+Th5Ox9sr6uc/JxZ++11zLnHCIiEnrq+V2AiIh4QwEvIhKiFPAiIiFKAS8iEqIU8CIiISrc7wJOFxMT4zp16uR3GSIiQWP58uU5zrnYirYFVMB36tSJ1NRUv8sQEQkaZrazsm06RSMiEqIU8CIiIUoBLyISojwNeDNrbmZvmtkGM0s3s6FeticiIv/H64uszwAfO+duMLMIINLj9kREpIxnAW9mTYHhwK0AzrlCoNCr9kRE5Pu8PEWTAGQDr5jZSjN72cyiPGxPRERO42XAhwMDgReccwOAY8BD5Xcys8lmlmpmqdnZ2R6WIyISeJbvPMhL32zz5Gd7GfC7gd3OuZSy79+kNPC/xzk3xTmX6JxLjI2t8GYsEZGQlL7vKLe9soxZKTs5VlBU4z/fs4B3zu0HMsysR9lTlwHrvWpPRCSY7Mg5xi1TlxIZEc5rE5KIalDzl0S9HkXzC2BW2QiabcBtHrcnIhLw9h85wbipKRSXlDB38lA6tPRmgKGnAe+cSwMSvWxDRCSYHM4vZPy0FA4dK2TO5GS6xjXxrK2AmmxMRCSUHSso4tZXlrHjQD6v3jaYvu2be9qepioQEakFJ04WM3F6Kmv2HOH5sQO4qEuM520q4EVEPFZYVMLPZ61gyfYDPHljP67s3bpW2lXAi4h4qLjE8ct5aXyxIYv/uvZCrh3QrtbaVsCLiHikpMTxH2+t5oM1+3h4ZE9uToqv1fYV8CIiHnDO8bv31/Hm8t3cd1k3Jg1PqPUaFPAiIh74yycbmb54JxOHdeb+y7v5UoMCXkSkhv31yy387autjB0Sz8P/2hMz86UOBbyISA169R/b+csnGxndvy1/uLaPb+EOCngRkRrzemoGj76/nit6teKJG/sRVs+/cAcFvIhIjViwei8PvbWaH3SL4fmbB1A/zP949b8CEZEg98WGTO6fm8agji148ZZBNAgP87skQAEvInJevt2czZ0zV9CzTVOm3jqYyIjAmeJLAS8ico6+25rDxOmpJMREMeP2ITRtWN/vkr5HAS8icg6Wbj/IhFdTiW8ZyayJSbSIivC7pH+igBcROUvLdx7itleW0qZ5Q2ZNSiK6cQO/S6qQAl5E5CysyjjMrdOWEtukAXMmJRPXpKHfJVVKAS8iUk1r9xzhlqkpNI+qz+xJybRqGrjhDgp4EZFqSd93lHFTU2jSsD6zJybTtnkjv0s6IwW8iMgZbM7MZdzLKTQMD2P2pCTPFsmuaQp4EZEqbM3OY+xLKdSrZ8yelETH6Ci/S6o2BbyISCV25Bzj5peWAI45k5JIiG3sd0lnRQEvIlKBjIP53PzSEgqLSpg1MZmucU38LumsBc49tSIiASLjYD5jpizhWGExsycl0aN18IU7KOBFRL5n14F8xkxZzLHCYmZNTKJ322Z+l3TOPA14M9sB5ALFQJFzLtHL9kREzsfOA8cYO2UJ+SdLw71Pu+ANd6idI/hLnXM5tdCOiMg525FzjLEvLeHEyWJmT0ymV9umfpd03nSKRkTqvO05pUfuhcUlzJ6UTM82wR/u4P0oGgd8ambLzWxyRTuY2WQzSzWz1OzsbI/LERH5vm3ZeYyZsrgs3JNCJtzB+4C/2Dk3ELgauNvMhpffwTk3xTmX6JxLjI2N9bgcEZH/szU7jzFTllBU7JgzKZkLWodOuIPHAe+c21v2bxYwHxjiZXsiItW1Jas03EucY87k5KAdClkVzwLezKLMrMmpx8CVwFqv2hMRqa4tWbmMmbIE52DOpGS6twq9cAdvL7K2Auab2al2ZjvnPvawPRGRM9qcmcvYl5ZgZsyZlEzXuOCafuBseBbwzrltQD+vfr6IyNnauD+Xn75cN8IdNBeNiNQRa/cc4SdTFhNWz5g7OfTDHRTwIlIHLN95iLEvLSEqIpzX7xhKlyCbFfJc6UYnEQlpi7ceYML0ZcQ1acCsScm0C4KVmGqKAl5EQtbXm7KZPCOV+JaRzJqYRFyAr6Fa0xTwIhKSFq7P5O5ZK+gS15iZE4YQ3biB3yXVOgW8iIScBav3cv/cNHq3a8aM24bQLLK+3yX5QhdZRSSkvLV8N/fOWcmA+ObMnFB3wx10BC8iIWRWyk4enr+Wi7tG89L4RCIj6nbE1e3/ehEJGVMXbeexBesZcUEcf/vpQBrWD/O7JN8p4EUk6P31yy385ZONXN2nNc+MGUBEuM4+gwJeRIKYc44/fryBF7/exrX92/LEjf0ID1O4n6KAF5GgVFzi+M07a5izNINxyfH8/po+1KtnfpcVUBTwIhJ0CotK+OXraXyweh93X9qFB67sQdnMtXIaBbyIBJXjhcXcOXM5X2/K5tcjL2Dy8C5+lxSwFPAiEjSOHD/JhFeXsWLXIf704wv5yeB4v0sKaAp4EQkK2bkFjJ+2lC1ZuTx/80BGXtjG75ICngJeRALe7kP5jHs5hcyjBUz92WCGd4/1u6SgoIAXkYC2JSuXcS8vJb+wiJkTkxjUsYXfJQUNBbyIBKzVuw/zs2lLCatXj3l3DKVnm6Z+lxRUFPAiEpCWbDvAxOmpNI+sz8wJSXSKifK7pKCjgBeRgPPRmn3cNy+Nji0jeW1CEq2b1a2FOmqKAl5EAsprS3byyLtrGdChOdNuHUzzyAi/SwpaCngRCQjOOZ5auInnvtjC5T3jeG7sQBpFaEbI86GAFxHfFRWX8Jt31jJ3WQY/SezAf13XR5OG1QDPA97MwoBUYI9zbpTX7YlIcDleWMwv5qzks/RMfjGiK/92RXfNK1NDauMI/j4gHdD4JhH5nsP5hUyYnsqKXYd4bHRvbhnaye+SQoqnfwOZWXvgX4GXvWxHRILP3sPHueHvi1mz+wh/u3mgwt0DXh/BPw08CDSpbAczmwxMBoiP18RBInXBpsxcxk9dyrGCImZMGEJyQrTfJYUkz47gzWwUkOWcW17Vfs65Kc65ROdcYmys5pcQCXXLdhzkhhe+o8Q5Xr9zqMLdQ14ewV8MXGNmI4GGQFMzm+mcG+dhmyISwD5eu5/75q6kXYtGzLh9CO1bRPpdUkjz7AjeOfefzrn2zrlOwBjgC4W7SN01ddF27pq1nF5tm/LmnRcp3GuBxsGLiKeKSxyPLVjPq9/t4KrerXl6TH8a1tcNTLWhVgLeOfcV8FVttCUigeN4YTH3zl3JwvWZTBjWmV+P7EmYFsauNTqCFxFPZOcWMHH6MlbvOcKjP+rFrRd39rukOkcBLyI1bmt2Hre+spTs3AJeHDeIK3u39rukOkkBLyI1aun2g0yakUr9MGPu5KH079Dc75LqLAW8iNSY91bt5YHXV9G+ZSNevXUI8dEaKeMnBbyInDfnHC98vZU/f7yRIZ1bMuWWQZrHPQAo4EXkvJwsLuGRd9cxZ+kurunXlr/c2JcG4RoGGQgU8CJyzo7kn+Tu2StYtCWHuy7pwq+u7EE9DYMMGAp4ETknO3KOcfv0ZWQczOfPN/TlpsQOfpck5SjgReSsLd56gLtmlc4jOHNCEkmaMCwgKeBF5KzMW7aLh+evpWN0JNNuHUzH6Ci/S5JKKOBFpFqKSxx/+ngDU77Zxg+6xfD8zQNp1qi+32VJFRTwInJGeQVF3D93JZ+lZzF+aEceGdVLi2IHAQW8iFRpz+HjTHh1GZuz8vj96N6M19J6QUMBLyKVWrHrEJNnLKfgZDGv3DqY4d216lowUcCLSIXeTdvDr95cTeumDZkzKYlurSpdWlkClAJeRL6nuMTxl0828vevtzKkU0v+fssgWkZp2oFgpIAXkf915PhJ7pu7kq82ZnNzUjyP/qg3EeG6mBqsFPAiAsCWrDwmzUgl42A+f7i2D+OSO/pdkpwnBbyI8Hl6JvfPTSMivB6zJyUzpHNLv0uSGqCAF6nDnHP87autPPHpRnq3bcqLtyTSrnkjv8uSGqKAF6mj8guL+NUbq/lgzT5G92/LH6/vS6MITfMbShTwInVQxsF8Js1IZVNmLr8eeQGTfpCAmab5DTUKeJE65rutOdw9awXFJY5XbhvCD3XzUsiqVsCbWRxwMdAWOA6sBVKdcyUe1iYiNcg5xyv/2MF/fZhO55goXhqfSOcYzQQZyqoMeDO7FHgIaAmsBLKAhsC1QBczexN40jl3tILXNgS+ARqUtfOmc+63NVu+iFTHsYIiHnp7De+v2ssVvVrx1E39aNJQM0GGujMdwY8EJjnndpXfYGbhwCjgCuCtCl5bAIxwzuWZWX1gkZl95Jxbcr5Fi0j1bc3O487XlrM1O48Hr+rBncO7aFm9OqLKgHfO/aqKbUXAO1Vsd0Be2bf1y77cOdQoIufo47X7eeCNVUSE1+O1CUlc3DXG75KkFlXrHmQze83Mmp32fScz+7warwszszRKT+0sdM6lVLDPZDNLNbPU7Ozss6ldRCpRVFzC4x+lc+fM5XSJa8yCXwxTuNdB1Z1kYhGQYmYjzWwS8Cnw9Jle5Jwrds71B9oDQ8ysTwX7THHOJTrnEmNjdTVf5Hzl5BVwy9SlvPj1NsYlx/P6Hcm01c1LdVK1RtE45140s3XAl0AOMMA5t7+6jTjnDpvZV8BVlI7AEREPrNh1iJ/PXMGh/EKeuLEfNwxq73dJ4qPqnqK5BZgGjAdeBT40s35neE2smTUve9wIuBzYcF7VikiFnHPMWLyDn7y4mPrhxts/v0jhLtW+0enHwDDnXBYwx8zmUxr0A6p4TRtgupmFUfo/ktedcwvOp1gR+Wf5hUX8Zv5a3l65hxEXxPE/N/WnWaSGQEr1T9FcW+77pWaWdIbXrKbq/wGIyHnanJnLz2etYEt2Hv92RXfuubSrhkDK/6ryFI2Z/cbMKpw31DlXaGYjzGyUN6WJSFXeWr6ba57/B4fyC3nt9iTuvaybwl2+50xH8GuA983sBLACyKb0TtZuQH/gM+C/Pa1QRL7neGExj7y7ljeW7yY5oSXPjhlAXNOGfpclAehMAX+Dc+5iM3uQ0rHsbYCjwExgsnPuuNcFisj/2ZJVekpmc1Ye947oyn2XdydMR+1SiTMF/CAz6wj8FLi03LZGlE48JiK14O0Vu3l4/loiI8KYcfsQftBN941I1c4U8H8HPgYSgNTTnjdKpx1I8KguESlzvLCYR99bx7zUDJI6t+TZsQNopVMyUg1nmovmWeBZM3vBOXdXLdUkImW2ZOVy96yVbMrK5RcjunLfZd0ID6vuDehS11V3mKTCXaQWOeeYtyyDR99fR1REONNvG8JwLcwhZ0krOokEmCPHT/Lrt9fwwZp9DOsaw1M39dMoGTknCniRAJK64yD3zU0j8+gJHrr6Aib/IEFj2+WcKeBFAkBxieOvX27h6c820aFlJG/edRH9OzT3uywJcgp4EZ/tPXyc++elsXT7Qa4b0I7fj+6t5fSkRijgRXz08dr9/MdbqykqLuGpm/px/UDNACk1RwEv4oP8wiL+8EE6s1N2cWG7Zjw7dgCdY6L8LktCjAJepJalZRzml/PS2HHgGHcMT+Dfr+xBRLjGtkvNU8CL1JKi4hKe/3ILz32xhdZNGzJnUjLJCdF+lyUhTAEvUgu25xzj/nlprMo4zHUD2vG70b1pqgup4jEFvIiHnHPMWZrBYwvWExFej+dvHsCovm39LkvqCAW8iEeycwt46K3VfL4hi2FdY3jixn60bqY7UqX2KOBFPLBwfSYPvbWa3IIiHhnVi1sv6qQ7UqXWKeBFatCR/JP8bsE63l6xh55tmjJnTH+6t2rid1lSRyngRWrIlxuzeOit1eTkFXLviK7cM6Kbhj+KrxTwIucp98RJ/rAgnXmpGXSLa8xL4xPp217zyIj/FPAi52HR5hwefHMV+4+e4M4fduH+y7vRsH6Y32WJAAp4kXNyrKCIxz9KZ+aSXSTERvHmXRcxML6F32WJfI9nAW9mHYAZQGugBJjinHvGq/ZEasuSbQf41Zur2H3oOBOHdeaBf+mho3YJSF4ewRcB/+6cW2FmTYDlZrbQObfewzZFPJN74iR//GgDs1J20TE6ktfvGMrgTi39LkukUp4FvHNuH7Cv7HGumaUD7QAFvASdz9Mz+c07a8k8eoKJwzrzb1d2JzJCZzglsNXKJ9TMOgEDgJQKtk0GJgPEx8fXRjki1XYgr4Dfvb+e91btpUerJrwwbpBWWpKg4XnAm1lj4C3gfufc0fLbnXNTgCkAiYmJzut6RKrDOce7aXv53fvryCso4peXd+euS7poXLsEFU8D3szqUxrus5xzb3vZlkhN2Xv4OA/PX8OXG7MZEN+cP/24r+5GlaDk5SgaA6YC6c65p7xqR6SmlJQ4ZqXs5I8fbaDEwSOjevGzizoRpjlkJEh5eQR/MXALsMbM0sqe+7Vz7kMP2xQ5J+n7jvLr+WtYuesww7rG8Pj1F9KhZaTfZYmcFy9H0SwCdOgjAS2/sIinP9vM1EXbad6oPk/d1I/rBrSj9A9QkeCmcV5SZ322PpPfvreOPYePM2ZwBx66+gKaR0b4XZZIjVHAS52z78hxHn1vHZ+sy6R7q8a8caduWJLQpICXOqOouITpi3fy1KcbKXaOB6/qwcRhCRr6KCFLAS91wspdh/h/765l7Z6jXNIjlsdG99FFVAl5CngJaQfyCvjTxxt4PXU3cU0a8NebBzLywta6iCp1ggJeQlJRcQmzUnbx5KcbyS8s5o7hCfzism40bqCPvNQd+rRLyFm24yCPvLuO9H1HGdY1hkev6U3XuMZ+lyVS6xTwEjKyjp7g8Y82MH/lHto2a8gLPx3IVX10OkbqLgW8BL2TxSVM/24HT3+2mcKiEu65tCs/v7SLpvOVOk+/ARK0nHN8uTGLP3yQzrbsY1zSI5bf/qg3nWOi/C5NJCAo4CUobcrM5bEF6/l2cw4JMVG8PD6Ry3rG6XSMyGkU8BJUDh4r5H8WbmL20l1ERYTx/0b14pbkjrpZSaQCCngJCoVFJcxYvINnPt9MfmEx45Liuf/y7rSI0twxIpVRwEtAc86xcH0m//1hOjsO5HNJj1geHtmTblqAQ+SMFPASsFZlHObxj9JZsu0gXeMa88ptg7m0R5zfZYkEDQW8BJydB47x50828sHqfURHRfD70b0ZOySe+mE6zy5yNhTwEjBy8gp47vPNzErZRf2wetw7oiuThifQpGF9v0sTCUoKePFdfmERL3+7nSnfbOP4yWJ+MrgD91/WjbimDf0uTSSoKeDFN0XFJcxLzeDpzzaTnVvAv/RuxYNXXUCXWM0bI1ITFPBS60pKHB+s2cf/fLaJbdnHSOzYgr+PG8igjlpVSaQmKeCl1pwa8vjUwk1s2J9L91aNmXLLIK7o1Up3oIp4QAEvnnPO8e3mHJ78dCOrdh+hc0wUz4zpz6i+bQmrp2AX8YoCXjyVsu0AT366iaU7DtKueSP+fENfrh/QjnANeRTxnAJePJGWcZgnP93It5tziGvSgMdG9+amwR1oEB7md2kidYYCXmrU8p2HeO6LzXy1MZuWURE8PLIn45I70ihCwS5S2zwLeDObBowCspxzfbxqRwJDyrYDPPfFFhZtyaFlVAQPXtWD8UM7aQ1UER95+dv3KvA8MMPDNsRHzjkWbz3AM59vJmX7QWIaN+DhkT35aXK8VlMSCQCe/RY6574xs05e/Xzxz6lRMc9+vpnUnYdo1bQBv/1RL8YOiadhfZ2KEQkUvh9mmdlkYDJAfHy8z9VIVUpKHAvTM3nhq62kZRymbbOGPDa6NzcmdlCwiwQg3wPeOTcFmAKQmJjofC5HKlBQVMw7K/fw4jfb2JZ9jA4tG/H49Rfy44HttZKSSADzPeAlcOWeOMnslF1M+8d2Mo8W0LttU54bO4Cr+7TWOHaRIKCAl3+SlXuCV/6xg5lLdpJ7ooiLu0bzxI39GNY1RlMKiAQRL4dJzgEuAWLMbDfwW+fcVK/ak/O3NTuPl7/dzlsrdnOyuISRfdpwxw8T6Nu+ud+licg58HIUzVivfrbUHOcci7bkMG3Rdr7cmE1EeD1+PLA9k4cn0Dkmyu/yROQ86BRNHXXiZOmF02n/2M6mzDxiGjfgl5d35+akeGKbNPC7PBGpAQr4Oibr6AleW7KTWSm7OHiskF5tmvLEjf34Ub82midGJMQo4OuIVRmHefW7HSxYvZeiEscVPVtx+7DOJHVuqQunIiFKAR/CjhcW8/6qvcxM2cnq3UeIighjXHJHbr2oEx2jdX5dJNQp4EPQtuw8ZqXs4o3UDI6eKKJ7q8Y8Nro31w5oR5OG9f0uT0RqiQI+RBQVl/BZeiYzl+xi0ZYc6ocZV/Vpw7ikeIboNIxInaSAD3K7D+XzRupu5i3LYP/RE7Rt1pAHruzOTYM7ENekod/liYiPFPBBqKComE/XZfJ6agaLtuQAMKxrDL8f3ZsRF8RpGgERARTwQSV931HmLcvgnbQ9HM4/Sbvmjbh3RDduTGxP+xaRfpcnIgFGAR/gjp44yXtpe3k9NYPVu48QEVaPK3q34ieJHbi4awxh9XRuXUQqpoAPQIVFJXyzKZv5aXv4bH0mBUUlXNC6CY+M6sV1A9rRIirC7xJFJAgo4AOEc46VGYd5Z+Ue3l+1l0P5J2kZFcGYwR24fmB7+rZvppEwInJWFPA+255zjHdW7uGdtD3sPJBPg/B6XNGrFdcNaMfw7rHU1wVTETlHCngf7D18nA/X7GPB6n2kZRzGDIYmRHPPpV25qk9r3YwkIjVCAV9L9h05zodr9vPB6r2s2HUYgF5tmvKfV1/ANf3b0qZZI58rFJFQo4D30P4jJ/hwzT4+WLOP5TsPAaWh/qt/6cHIC9tovnUR8ZQCvobtyDnGwvWZfLJuP6llod6zTVMeuLI7Iy9sQ0JsY58rFJG6QgF/nkpKHGm7D7NwfSafrc9kc1YeUBrq/35Fd0b2bUMXhbqI+EABfw5OnCzmu605paGenkV2bgFh9Yykzi25OSmey3u2okNL3VkqIv5SwFdTxsF8vt6UzVcbs/luaw75hcVERYRxSY84rujVikt7xNEsUqNfRCRwKOArceJkMSnbD/L1xmy+2pTFtuxjALRv0YjrB7bj8p6tGNolWsvciUjAUsCXcc6xNTuPbzfn8NXGbJZsO0BBUQkR4fVITohmXFJHftgjloSYKN1RKiJBoc4GvHOOXQfzWbz1AN9tPcDibQfIzi0AICEmirFD4rmkRyxJnaNpFKGjdBEJPnUq4PcdOc53W0rDfPHWA+w5fByA2CYNGJoQzUVdormoSwzx0bpAKiLBz9OAN7OrgGeAMOBl59wfvWzvdCUljs1ZeaTuPMjyHYdI3XmIXQfzAWgRWZ/khGju/GECQ7tE0yW2sU67iEjI8SzgzSwM+CtwBbAbWGZm7znn1nvR3vHCYtIyDrN850FSdx5ixc5DHD1RBEBM4wgGdWzB+KEduahLDBe0bkI9zaMuIiHOyyP4IcAW59w2ADObC4wGajTgC4qKuenFJazbc4SiEgdAt7jG/GvfNgzq2JLEji3oGB2pI3QRqXO8DPh2QMZp3+8GksrvZGaTgckA8fHxZ91Ig/AwOkdHcnGXaBI7tWBgfAuaR2pBDBERLwO+okNm909PODcFmAKQmJj4T9ur4+kxA87lZSIiIc3L1SR2Ax1O+749sNfD9kRE5DReBvwyoJuZdTazCGAM8J6H7YmIyGk8O0XjnCsys3uATygdJjnNObfOq/ZEROT7PB0H75z7EPjQyzZERKRiWtFZRCREKeBFREKUAl5EJEQp4EVEQpQ5d073FnnCzLKBnef48hggpwbLqSmq6+wFam2q6+yorrN3LrV1dM7FVrQhoAL+fJhZqnMu0e86ylNdZy9Qa1NdZ0d1nb2ark2naEREQpQCXkQkRIVSwE/xu4BKqK6zF6i1qa6zo7rOXo3WFjLn4EVE5PtC6QheREROo4AXEQlRQRXwZnaVmW00sy1m9lAF283Mni3bvtrMBtZSXR3M7EszSzezdWZ2XwX7XGJmR8wsrezrkVqqbYeZrSlrM7WC7bXeZ2bW47R+SDOzo2Z2f7l9aq2/zGyamWWZ2drTnmtpZgvNbHPZvy0qeW2Vn0kP6vqLmW0oe6/mm1nzSl5b5fvuQV2Pmtme096vkZW8trb7a95pNe0ws7RKXutlf1WYD7XyGXPOBcUXpVMObwUSgAhgFdCr3D4jgY8oXU0qGUippdraAAPLHjcBNlVQ2yXAAh/6bQcQU8V2X/qs3Pu6n9KbNXzpL2A4MBBYe9pzfwYeKnv8EPCnSmqv8jPpQV1XAuFlj/9UUV3Ved89qOtR4IFqvNe12l/ltj8JPOJDf1WYD7XxGQumI/j/XcTbOVcInFrE+3SjgRmu1BKguZm18bow59w+59yKsse5QDqla9IGA1/67DSXAVudc+d6B/N5c859Axws9/RoYHrZ4+nAtRW8tDqfyRqtyzn3qXOuqOzbJZSulFarKumv6qj1/jrFzAy4CZhTU+1VVxX54PlnLJgCvqJFvMuHaHX28ZSZdQIGACkVbB5qZqvM7CMz611LJTngUzNbbqULnJfnd5+NofJfOj/665RWzrl9UPoLCsRVsI/ffXc7pX99VeRM77sX7ik7dTStktMNfvbXD4BM59zmSrbXSn+VywfPP2PBFPDVWcS7Wgt9e8XMGgNvAfc7546W27yC0tMQ/YDngHdqqayLnXMDgauBu81seLntvvWZlS7leA3wRgWb/eqvs+Fn3z0MFAGzKtnlTO97TXsB6AL0B/ZRejqkPD9/P8dS9dG75/11hnyo9GUVPFftPgumgK/OIt6+LfRtZvUpffNmOefeLr/dOXfUOZdX9vhDoL6ZxXhdl3Nub9m/WQ3uDPoAAAJZSURBVMB8Sv/kO52fi6NfDaxwzmWW3+BXf50m89SpqrJ/syrYx5e+M7OfAaOAn7qyE7XlVeN9r1HOuUznXLFzrgR4qZL2/OqvcOB6YF5l+3jdX5Xkg+efsWAK+Oos4v0eML5sZEgycOTUn0BeKju/NxVId849Vck+rcv2w8yGUNr3BzyuK8rMmpx6TOkFurXldvOlz8pUelTlR3+V8x7ws7LHPwPerWCfWl9Y3syuAv4DuMY5l1/JPtV532u6rtOv21xXSXu13l9lLgc2OOd2V7TR6/6qIh+8/4x5cdXYqy9KR3xsovSq8sNlz90J3Fn22IC/lm1fAyTWUl3DKP2zaTWQVvY1slxt9wDrKL0KvgS4qBbqSihrb1VZ24HUZ5GUBnaz057zpb8o/Z/MPuAkpUdME4Bo4HNgc9m/Lcv2bQt8WNVn0uO6tlB6TvbU5+zv5euq7H33uK7Xyj4/qykNoDaB0F9lz7966nN12r612V+V5YPnnzFNVSAiEqKC6RSNiIicBQW8iEiIUsCLiIQoBbyISIhSwIuIhCgFvIhIiFLAi4iEKAW8SCXMbHDZ5FkNy+52XGdmffyuS6S6dKOTSBXM7A9AQ6ARsNs597jPJYlUmwJepApl838sA05QOl1Csc8liVSbTtGIVK0l0JjSlXga+lyLyFnREbxIFczsPUpX0elM6QRa9/hckki1hftdgEigMrPxQJFzbraZhQHfmdkI59wXftcmUh06ghcRCVE6By8iEqIU8CIiIUoBLyISohTwIiIhSgEvIhKiFPAiIiFKAS8iEqL+Py3Z/7D0OmBhAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pylab as plt\n", "\n", "def function_1(x):\n", " return 0.01*x**2 + 0.1*x\n", "\n", "x = np.arange(0.0, 20.0, 0.1) # 0~20の、0.1刻みの値\n", "y = function_1(x)\n", "\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"f(x)\")\n", "plt.plot(x, y)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def tangent_line(f, x):\n", " d = numerical_diff(f, x)\n", " y = f(x) - d*x\n", " return lambda t: d*t + y\n", "\n", "tf = tangent_line(function_1, 5)\n", "y2 = tf(x)\n", "tf = tangent_line(function_1, 10)\n", "y3 = tf(x)\n", "\n", "plt.plot(x, y)\n", "plt.plot(x, y2, linestyle=\"dotted\")\n", "plt.plot(x, y3, linestyle=\"dotted\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 偏微分\n", "\n", "複数の引数がある関数の微分をする場合、どの値がどれくらいの値を変化させるのかを知るには **偏微分** を使う。" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def func1(x0, x1):\n", " \"\"\"\n", " x_0^2 + x_1^2 を求める\n", " \"\"\"\n", " return x0*x0 + x1**2.0" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.00000000000378" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# x0 = 3, x1 = 4の時の、x0の偏微分を求める\n", "def func_tmp1(x0):\n", " return func1(x0, 4.0)\n", "numerical_diff(func_tmp1, 3)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7.999999999999119" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# x0 = 3. x1 = 4の時の、x1の偏微分を求める\n", "def func_tmp1(x1):\n", " return func1(3, x1)\n", "numerical_diff(func_tmp1, 4)" ] } ], "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" } }, "nbformat": 4, "nbformat_minor": 4 }