{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\tHiroshi TAKEMOTO\n", "\t(take.pwave@gmail.com)\n", "\t

微分

\n", "\t

\n", "\t\t高校で習う微分の公式は、以下の2つです。\n", "\t\t

\n", "\t

\n", "\t

\n", "\t\tsageで微分は、diff関数を使います。diff関数の使い方は以下の通りです。次数を省略すると1階微分となります。\n", "

\n",
    "diff(関数, 微分する変数, 次数)\n",
    "
\n", "\t\t上記公式をsageで実行すると以下のようになります。\t\t\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%HTML\n", "" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# jupyter用のdisplayメソッド\n", "from IPython.display import display, Latex, HTML, Math, JSON\n", "# sageユーティリティ\n", "load('script/sage_util.py')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "n*x^(n - 1)\n" ] } ], "source": [ "# 変数と関数を生成\n", "x, c, n = var('x c n')\n", "# 微分\n", "print diff(c, x)\n", "print diff(x^n, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

Sageで微分公式を確認

\n", "\t

\n", "\tsageで変数xの関数fを以下のように定義します。\n", "\t

\n",
    "x = var('x')\n",
    "f = function('f', x)\n",
    "\t
\n", "\tこの関数を微分すると、$f'$は以下のようにD[0](f)(x)のように返されます。\t\n", "\t

\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "D[0](f)(x)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 変数x, 関数fを定義\n", "c, x = var('c x')\n", "f(x) = function('f')(x)\n", "# 関数fを変数xで微分\n", "diff(f(x), x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\t以下に示す微分の公式をSageで実行し、f'=D[0](f)(x)の置換を実行した結果を示します。\n", "\t\t

\n", "\t

\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# df/dx = f', dg/dx = g'の置き換え関数の定義\n", "repStr = lambda f : str(f).replace(\"D[0](f)\", \"f'\").replace(\"D[0](g)\", \"g'\")" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c*f'(x)\n", "f'(x) + g'(x)\n", "g(x)*f'(x) + f(x)*g'(x)\n", "(g(x)*f'(x) - f(x)*g'(x))/g(x)^2\n", "-g'(x)/g(x)^2\n", "f'(g(x))*g'(x)\n" ] } ], "source": [ "# 関数gを定義\n", "g(x) = function('g')(x)\n", "# 微分公式をsageを使って実行\n", "print repStr(diff(c*f(x), x))\n", "print repStr(diff(f(x)+g(x), x))\n", "print repStr(diff(f(x)*g(x),x))\n", "print repStr(diff(f(x)/g(x), x).simplify_full())\n", "print repStr(diff(1/g(x),x))\n", "print repStr(diff(f(g(x)), x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

いろんな関数の微分

\n", "\t

\n", "\t\t以下に主な関数を微分した結果を示します。\t\t\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
関数微分結果
c0
x^nn*x^(n - 1)
sin(x)cos(x)
cos(x)-sin(x)
e^xe^x
log(x)1/x
" ], "text/plain": [ "<__main__.Table2Html instance at 0x7fb2983e4680>" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('x c n')\n", "sts=[c, x^n, sin(x), cos(x), exp(x), log(x)]\n", "Table2Html( [(st, diff(st, x)) for st in sts], header=[\"関数\", \"微分結果\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

微分の応用

\n", "\t

\n", "\t\t微分の応用として、接線の方程式とその法線を計算してみましょう。\n", "\t\t関数f(x)を以下のように定義します。\n", "$$\n", "\t\tf(x) = x^3 - x^2 - 2*x\n", "$$\t\t\t\n", "\t\tこのとき、$x = x_1$での接線の式は、以下のようになります。\n", "$$\n", "\t\ty - y_{1} = f'(x_{1})(x - x_{1})\n", "$$\t\t\n", "\t\tまた、法線は接線と直交することから、以下のようになります。\n", "$$\n", "\t\ty - y_{1} = -\\frac{1}{f'(x_{1})}(x - x_{1})\n", "$$\t\t\t\t\n", "\t\tf(x)の微分した式をg(x)とし、x=0での接線と法線を計算し、プロットしてみます。\t\t\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "x^3 - x^2 - 2*x" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f(x) = x^3 - x^2 - 2*x\n", "show(f(x))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "3*x^2 - 2*x - 2" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "g(x) = diff(f, x)\n", "show(g(x))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-2" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = g(x=0); m" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nYII=\n", "text/plain": [ "Graphics object consisting of 4 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p1 = plot(f, [x, -2.5, 2.5])\n", "p2 = plot(m*(x-0)+f(0), [x, -2.5, 2.5])\n", "p3 = plot(-(x-0)/m+f(0),[x, -2.5, 2.5])\n", "pt = point([0, f(0)])\n", "(p1+p2+p3+pt).show(aspect_ratio=1, ymin=-2.5, ymax=2.5, figsize=5 )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

積分

\n", "\t

\n", "\t\tsageでは積分は、integrate関数で計算します。\n", "\t\t

\n",
    "\t\tintegrate(被積分関数, 積分変数)\n",
    "\t\tまた\n",
    "\t\tintegrate(被積分関数, 積分変数, 積分範囲)\n",
    "\t\tとすると定積分を計算します。\n",
    "\t\t
\n", "\t

\n", "\t

\n", "\t\t例として、$\\int x\\, dx$を計算した後、その微分を求めています。\n", "\t\t元のxが返されています。\t\t\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "1/2*x^2" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f(x) = integrate(x, x)\n", "show(f(x))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
関数積分結果
cc*x
1/xlog(x)
e^xe^x
log(x)x*log(x) - x
sin(x)-cos(x)
f'(x)/f(x)log(f(x))
" ], "text/plain": [ "<__main__.Table2Html instance at 0x7fb29812b2d8>" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# いろんな関数の積分\n", "var('x c')\n", "f(x) = function('f')(x)\n", "sts=[c, 1/x, exp(x), log(x), sin(x), diff(f(x), x)/f(x)]\n", "Table2Html( [(repStr(st), integrate(st, x)) for st in sts], header=[\"関数\", \"積分結果\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

定積分

\n", "\t

\n", "\t\t次に定積分$\\int_{0}^{\\pi/2}sin(x)\\, dx$の例を示します。\t\n", "\t

\n", "\t

\n", "\t\t$sin(x)$を0から$\\pi/2$の範囲でプロットすると以下のようになります。\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeIAAAFoCAYAAACLwvgdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xl8VOWhxvHfJICshitgwACKCoJSocYA4sqaIBKXSkiw\nQBRZlMqqLIpU5LLIFrZQ3LB4q0Dr3nop2mjdoBVZAhiWQFgCIYFhyb7Oee8fc0ulsiRAcs7MPN/P\nJx91nMl5Esd5eN9zzvu6jDEGERERsUWQ3QFEREQCmYpYRETERipiERERG6mIRUREbKQiFhERsZGK\nWERExEYqYhERERupiEVERGzkyCI2xpCTk4PWGhEREX/nyCLOzc0lJCSE3Nxcu6OIiIhUqiop4m++\n+Ybo6GjCwsIICgrik08+qYrDioiIOF6VFHF+fj7t27dn6dKluFyuqjikiIiIT6hWFQeJiooiKioK\nQOd9RUREfsKR54hFREQChYpYRETERlUyNS0iImKnkhI4fhzcbu9ff/r3p05BXh7k5kJuriE3F4qK\nDCUlUFzs/Sop4fQ/ezxgDFx3nYstWy79uidHF3HLli1xuVyEhYURFhYGQFxcHHFxcTYnExERp8jJ\ngbQ02L8fDh/2fmVkwKFDhsOHDRkZLnJyfl6YQUGGevU81KtXRu3aZdSq5aFmzTJq1/ZQr55FtWoW\nNWpYVK9uTv99tWqGoCCDywVt2zYFrrjk/I4u4tTUVK688kq7Y4iIiM1OnoQdO7xfe/dCWpph715D\nWhqcOPHvs6zVqhkaNiyhQYNiGjYs4uabS7jnnmL+679KCAkp48orSwkJKeXKK0upW7eMoEs4QRsR\n0RifKeL8/Hz27Nlz+orptLQ0kpOTueqqq2jWrFlVRBARER/gdsP27ZCS8q8vi5QUyMryNqbLZQgN\nLaFx40KaNCnk1luLaNKkkGuuKaJx4yLq1y+5pHK1g8tUwf1EX331FV26dPnZPcSDBg1i+fLlP3t+\nTk4OISEhZGdna0QsIuKnjhyBTZu8Xz/8YNi0yXDokLdFq1UzNG1ayLXX5tG8eQHXXVfAtdfm06xZ\nITVqWDYn94qIiKBOnTqX/H2qZER87733YlnO+MWJiEjVy86Gf/4T1q2DDRsMGzea06PcK68so2XL\nXO66K5eWLXO54YZ8wsIKqVYtMNadcPQ5YhER8T3GeC+c+u47+PZbw7p1hu3bXRjjIiSkjNats+nR\nI4+WLXNp1SqP0NAiAnnRRRWxiIhcEmO8Vy1/8QUkJRn+/vd/j3avvbaQW27JJioqm7Zts2nWrDCg\nS/dsVMQiIlJhR478u3iTkgwHDwYRFGRo3TqXbt1O0rZtDjffnE1ISJndUR1PRSwiIhdUWgrffguf\nfgpr1likpHhHvNdfX0BExEmGDTvJrbeeom5dj81JfY+KWEREziozE9asgb/8xfD555Cb66JBgxIi\nIo7zyCMn+eUvT3LVVaV2x/R5KmIREQG853pTUuCDD+Djjy02bgzC5TK0aZPLo48ep1On49x4Y57P\n3afrdCpiEZEAZgz88IO3fN9/3yI1NYg6dTxERBxn0qTjdOhwgvr1NeqtTCpiEZEAYwz84x+wahV8\n8IHFoUNBhISUcuedbp544hi33XaSGjUC4x5eJ1ARi4gEiO3b4d134d13LQ4cCKJRoxLuuusoY8e6\nufXWbIKDVb52UBGLiPix/fth5Upv+W7fHsSVV5Zx991HGT36KL/4xSmCg+1OKI4u4tjYWKpVq6at\nD0VEKiAnB/74R1i+3LB+vYuaNS06dz7G9OlHiYg4QfXqGvk6SZVs+lBR2vRBRKRijPHe57t8ueGP\nf4TCQoiIOEmPHpnceedxatXS/b2Xm09t+iAiIpXjyBFYsQLefNNiz54grrmmmNjYI0RGZnL11cV2\nx5NyUBGLiPiYsjL4y1/gjTcMf/2rd8vAe+45ytNPZ9Ku3Snd5+tjVMQiIj7iyBF4/XV49VWLjIwg\nWrfOY+TII3TtepS6dbWms69SEYuIOJgx8PXXkJho+PBDqFbNonv3LKZOzeDGG/PsjieXgYpYRMSB\nCgrg7bdh8WLvBgvNmxcyfPhhIiMztbGCn1ERi4g4SEYGJCbC735nkZ3t4s47jzN37mFuu+2U9vH1\nUypiEREH2LwZEhIMq1ZBjRoWvXpl8Mgjh2nSpMjuaFLJVMQiIjaxLO/+vvPmWXz1VRCNGxfz5JOH\nuP/+I5p+DiAqYhGRKlZa6t1wYeZMix07grjlljxeeimdu+5ya73nAKQiFhGpIoWF8NZb8MorFgcP\nBnHHHSdZvPgAbdvm2B1NbKQiFhGpZDk58Lvfwfz5Fm63i/vuO8aUKQe54YZ8u6OJA6iIRUQqybFj\nsHAhLF5sKCw09OyZSVxcOmFhhXZHEwdREYuIXGZuN8yZY1iyBIyxeOCBDPr2TadRoxK7o4kDqYhF\nRC6TEydg3jzDokXg8Vg8/PAhYmIOERJSanc0cTBHF7H2IxYRX5Cd7b0HeP58KC01PPjgIWJj06lf\nXwUsF+boIl61apX2IxYRx8rNhUWLYM4ci6Ii6NPnMHFxB7nqKhWwlJ+ji1hExImKimDJEpgxw5CX\nZ3jggQz69z9Iw4Y6BywVpyIWESknjwf+8AeYPNniyBEX999/hAEDDtCoUbHd0cSHqYhFRC7AGFiz\nBiZMsNi+PYh773UzY8Y+mjXTbUhy6VTEIiLn8f338Nxzhq+/dtG+fQ6JiXu5+eZcu2OJH1ERi4ic\nRWoqTJpkeP99F9dfX8DMmXvp2PGEtiKUy05FLCLyEydPwtSphsREaNCghAkT0ujRI4vgYLuTib9S\nEYuIAGVl8Npr8OKLFkVFhscfP8Cjjx6iRg3L7mji51TEIhLw/vY3GD3aIiXFRWRkFk8+uY8GDXQr\nklQNFbGIBKzUVBg3zvDnP7v4xS9y+d3vUrnppjy7Y0mAURGLSMDJzoaXXzYsXgxXXVXCiy/uoUuX\nY7oQS2yhIhaRgGFZ8Pbb8NxzFnl5hgEDDhITk84VV+g8sNhHRSwiAWHrVnjqKYt164Lo2vUYw4fv\n1baE4ggqYhHxazk5MGWKd2/gpk2LmDdvN7fddsruWCKnqYhFxC8ZA6tXw5gxFqdOGQYP3s+jjx6i\nenVjdzSRMzi6iLUfsYhcjJ074emnLb78Moi77z7OiBF7CA3VxgziTI4uYu1HLCIVUVjovRp63jy4\n+upiZs1KpWPHE3bHEjkvRxexiEh5ffklDBlicfAgPPbYAeLi0rUqlvgEFbGI+LSTJ+HZZw3Ll7u4\n9dZc3nhjF82bF9gdS6TcVMQi4pOMgffeg9/8xiI/32LMmL088MARgoLsTiZSMSpiEfE5hw7B0097\nl6a8++7jjByZSsOGuidYfJOKWER8hmXBsmUwYYKhZs1Spk7dzT33uO2OJXJJVMQi4hN27oTBgw3r\n1rno0+cIQ4emUbdumd2xRC6ZilhEHM3jgfnz4cUXDaGhRSxYsJN27bLtjiVy2aiIRcSxduyA+HiL\nDRtcxMSk8/jj+7VBg/idi7q+MDExkRYtWlCrVi06derEhg0bzvv8d955h/bt21OnTh2uueYaBg8e\nzIkTusleRM7O44HZs+GXvzRkZhaxePFmhg9PUwmLX6pwEa9evZpx48YxdepUNm/eTLt27YiMjMTt\nPvsFE9999x2DBg1iyJAhpKSk8N577/H9998zdOjQSw4vIv5n1y7o3Nli0iTDQw+l89prP3DLLTl2\nxxKpNBUu4oSEBIYNG8bAgQNp3bo1y5Yto3bt2ixfvvysz//HP/5BixYtGDFiBNdeey2dO3dm2LBh\nfP/995ccXkT8h2XBkiXeUfCRI8UsWqRRsASGChVxaWkpGzdupFu3bqcfc7lcdO/enfXr15/1NXfc\ncQfp6emsWbMGgKysLN577z169+59CbFFxJ8cPgyRkRbPPANRUYd57bUNGgVLwKhQEbvdbjweD6Gh\noWc8HhoaSmZm5llf07lzZ/7whz/Qr18/atSoQZMmTahfvz5Lliy5+NQi4jdWroRbbrHYsqWM2bOT\nGTlyDzVrahQsgaPSF4NLSUlh1KhRvPTSS2zatIm1a9eyb98+hg0bdsHXtmzZksaNGxMeHk50dDTR\n0dGsXLmysiOLSBU4cQL69TP07w/h4cd4883viYg4aXcskSpXoduXGjZsSHBwMFlZWWc8npWVRePG\njc/6mlmzZnHXXXcxduxYANq2bcvSpUu5++67mT59+s9G1z+VmpqqbRBF/NBnn3lvS8rLs3jxxd10\n7XrU7kgitqnQiLh69eqEh4eTlJR0+jFjDElJSXTu3PmsrykoKCDoP1ZhDwoKwuVyYYy5iMgi4qsK\nCmDECENkJISFneLNNzeohCXgVXhBj7FjxxIfH094eDgdOnQgISGBgoIC4uPjAZg0aRIZGRmsWLEC\ngD59+jB06FCWLVtGZGQkGRkZjBkzho4dO55zFC0i/ic5Gfr1szhwAEaO3MODDx7WTkkiXEQRx8TE\n4Ha7mTJlCllZWbRv3561a9fSqFEjADIzM0lPTz/9/EGDBpGXl0diYiLPPvss9evXp1u3bsyaNevy\n/RQi4ljGeG9LevZZQ/PmBbz6aor2Cxb5CZdx4PxwTk4OISEhZGdn6xyxiA87dgwef9zw6acufvWr\nQwwdmkaNGroiWvxDREQEderUueTvo7WmRaRSJCXBr39tUVTkYcaMHdxxh5a1FTkbnaERkcuqtBQm\nTjT06GG45pps3nhjg0pY5Dw0IhaRyyYtDWJjLTZvdjFkSBr9+qXrgiyRC1ARi8hl8e67MHy4oV69\nEhYt+pE2bXLtjiTiE1TEInJJ8vLgN78xrFjhonv3o4wevZs6dTx2xxLxGSpiEbloKSnwq19ZHDhg\nmDRpNz17Zl34RSJyBp29EZGL8oc/QESEobi4kGXLNqqERS6SilhEKqSwEIYMMQwYAHfdlUVi4kYt\n0CFyCTQ1LSLltmcPPPqoxc6d8Nxzu+jVKxOXy+5UIr5NRSwi5fL++xAfb6hfv5glS7Zz4435dkcS\n8QuOnpqOjY3VHsQiNispgVGjDI8+6t03eNmyH1TCIpeRo0fEq1at0lrTIjY6cAD69rXYvNm7Y9JD\nDx3WVLTIZeboIhYR+6xdC3FxhiuuKGXx4u20bq0FOkQqg6OnpkWk6lkWTJ9u6NXL0KrVCV59dYNK\nWKQSaUQsIqfl5MDAgYaPP3YxcOB+Bg3ar7WiRSqZilhEANixAx56yOLwYYvp03fQufNxuyOJBAT9\nWVdE+PBD7ypZJSWF/O53G1XCIlVIRSwSwDweeP55wyOPwO23HyMxcRPNmhXaHUskoGhqWiRAHT/u\nvSo6KQmGDdtLv37pujVJxAYqYpEAtGWL93zwqVMeZs9OITz8pN2RRAKWpqZFAsy770LnzoYrrihg\n2bKNKmERm6mIRQKExwMTJxoee8y7a9KiRZto3LjI7lgiAU9T0yIBICcH+vc3rFkDTz21h759D+l8\nsIhDqIhF/NyePdCnj0V6umHGjB/p2PGE3ZFE5Cc0NS3ix5KSICLCIj+/mKVLN6qERRxIRSzih4yB\nJUsgMtLQsuUpEhM30rx5gd2xROQsHD01HRsbS7Vq1YiLiyMuLs7uOCI+oaQERowwvPGGi759DzFs\nWBrBwcbuWCJyDo4uYu1HLFIxx47BI48Y/vlPw/jxu+jVK9PuSCJyAY4uYhEpv+3boXdvi7y8MubP\n307btjl2RxKRctA5YhE/8Ne/ehfpqF69kKVLN6qERXyIiljExyUmQu/ehrZtT7Bo0SZCQ4vtjiQi\nFaCpaREfVVYGY8YYlixx8eijhxg+fC/BwXanEpGKUhGL+KCcHOjXz/D55zBmzG6iozPsjiQiF0lF\nLOJjDhzwXpR14IDFrFk/cvvt2rRBxJepiEV8yD//CdHRFtWqlbB48Vauu06LdIj4Ol2sJeIj/vQn\nuO8+Q2hoLomJG1XCIn5CRSzicMbAnDkQEwN33nmUuXOTqV+/1O5YInKZaGpaxMHKyuCZZwzLlrn4\n9a8P8MQT+7R9oYifURGLOFRenvfK6LVr4dlnd9G79xG7I4lIJVARizhQZibcf7/Frl2GGTO206GD\nrowW8VcqYhGHSUmBXr0sCgvLWLhwKzfemGd3JBGpRLpYS8RB/v53uOMO75rRS5ZsVAmLBABHF3Fs\nbCzR0dGsXLnS7igile6dd6BnT0PLlqdYsGATV1+tNaNFAoGjp6a1H7EEgn/dnjRhAkRFZTJu3G6q\nVTN2xxKRKuLoIhbxd5YFo0cbFi92MWDAfh5/fL9uTxIJMCpiEZsUFcGAAYYPPtDGDSKBTEUsYoPs\nbHjwQYv16+Gll1K4+2633ZFExCYqYpEqdvgwREV5d0+aO3cbv/hFtt2RRMRGKmKRKrRjB0RGWpSU\nlLJoUbI2bhARZ9++JOJP1q2DO++0qF69kMWLN6mERQRQEYtUiU8+gW7dDM2b57Bw4WYaNdI9wiLi\ndVFFnJiYSIsWLahVqxadOnViw4YN531+SUkJL7zwAtdddx01a9bk+uuv5/e///3FHFrE57z1Fjz8\nsKFDBzezZ2+lbt0yuyOJiINU+Bzx6tWrGTduHK+99hodOnQgISGByMhIdu/eTcOGDc/6mr59+3Ls\n2DHeeustbrjhBo4cOYJlWZccXsTp5s6F556DPn2OMGrUboKD7U4kIk7jMsZUaAmfTp060bFjRxYu\nXAiAMYZmzZoxcuRIxo8f/7Pn//Wvf6V///6kpaVRv379ch0jJyeHkJAQsrOztbKW+CRjYOJEw+zZ\n2kdYxF9FRERQp06dS/4+FZqaLi0tZePGjXTr1u30Yy6Xi+7du7N+/fqzvubPf/4zt99+O6+88gpN\nmzblpptu4rnnnqOoqOjSkos4lMcDQ4Z4S/jpp/cweLBKWETOrUJT0263G4/HQ2ho6BmPh4aGsmvX\nrrO+Ji0tjW+++YaaNWvy0Ucf4Xa7eeqppzhx4gRvvvnmxScXcaDiYujf3/DxxzBhwg6iorLsjiQi\nDlfp9xFblkVQUBDvvvsudevWBWD+/Pn07duXpUuXcsUVV1R2BJEqkZcHDz1k8c03MHXqj9x553G7\nI4mID6hQETds2JDg4GCyss78U35WVhaNGzc+62uaNGlCWFjY6RIGaNOmDcYYDh06xA033HDO47Vs\n2RKXy0VYWBhhYWEAxMXFERcXV5HYIpXO7Yb777dISTG88spW2rfXalkiUj4VKuLq1asTHh5OUlIS\n0dHRgPdiraSkJEaOHHnW19x555289957FBQUULt2bQB27dpFUFAQTZs2Pe/xUlNTdbGWON6hQ9Cj\nh0VWlof585Np1SrP7kgi4kMqfB/x2LFjef3113n77bfZuXMnw4cPp6CggPj4eAAmTZrEoEGDTj+/\nf//+NGjQgMcff5wdO3bw9ddfM378eAYPHqxpafF5u3ZB584WJ0+WsnDhJpWwiFRYhc8Rx8TE4Ha7\nmTJlCllZWbRv3561a9fSqFEjADIzM0lPTz/9/Dp16vD555/zzDPPEBERQYMGDejXrx/Tpk27fD+F\niA02bfKuG123bhGLFydrtSwRuSgVvo+4Kug+YnG6v/8doqMNTZvmMnPmVkJCtFqWSKCx5T5iEYE/\n/xmiogytWp1i3rxklbCIXBIVsUgFrFrlXTe6Y0c3M2ZspVYtj92RRMTHqYhFymn5cu9iHV27ZjFl\nSgo1ajjurI6I+CAVsUg5LFoEgwdDnz4ZTJy4k+BglbCIXB4qYpELmDHDMGoUxMSkM3p0KkH6v0ZE\nLqNKX+JSxFcZAy+8YJg500V8/D4GDjygzRtE5LJTEYuchTEwapRh8WIXTz21h5iYQ3ZHEhE/pSIW\n+Q8eDwwdali+3MWYMbuJjs6wO5KI+DEVschPlJbCgAGGP/0JJk7cQWSktjEUkcqlIhb5f0VFEBNj\nWLPGMGVKCvfe67Y7kogEABWxCFBQAA8+aPjmG8O0advp1OmE3ZFEJEA4+kaM2NhYoqOjWblypd1R\nxI/l5nqXrPzuO4uZM7eqhEWkSjl6RLxq1Spt+iCVKifHW8Jbt1rMnp1M27Y5dkcSkQDj6CIWqUyn\nTkHPnhY7dljMmZNMmza5dkcSkQCkIpaAdOIEdO9usXevxbx5W2jVKs/uSCISoFTEEnCOHfOW8MGD\nHubN28KNN+bbHUlEApiKWAJKVhZ07WqRmVnG/PlbaNGiwO5IIhLgVMQSMI4cgS5dLI4fLyMhYQvN\nm6uERcR+KmIJCIcOeUs4J6eUhIQtNG1aaHckERFARSwB4MABbwkXFpayYMFmmjQpsjuSiMhpKmLx\na/v2wX33WZSVlZCQsJnGjYvtjiQicgYVsfittDRvCRtTzIIFW2jUSCUsIs6jIha/9K+RsDHFzJ+/\nmUaNSuyOJCJyVo5ea1rkYuzbB/fe+68S3qISFhFH04hY/Mr+/d6RsGUVk5Cg6WgRcT6NiMVv7N/v\nHQl7PCphEfEdGhGLX/jXSNh7dbRKWER8h6NHxNqPWMrjwAFvCZeWem9RuvpqlbCI+A5Hj4i1H7Fc\nyIED3ulolbCI+CpHj4hFzufgwX+PhOfPVwmLiG9SEYtPOnjQOxIuKfGWcGioSlhEfJOKWHzOT0t4\n3jyVsIj4NkefIxb5T+np3uno4mLvSFhrR4uIr9OIWHxGerp3JFxUpBIWEf+hEbH4hIwM70i4sNC7\nn7BKWET8hYpYHC8rC7p2tcjPL/3/rQy1n7CI+A8VsTia2w3dulkcP17GggVbaNJEJSwi/kVFLI51\n8iR0726RkeFhwYIthIUV2h1JROSyUxGLI2VnQ8+eFvv3e5g/fwvNmxfYHUlEpFKoiMVxcnOhVy+L\nXbss5s1L5vrr8+2OJCJSaVTE4igFBfDAA4atWw1z5iTTsmWe3ZFERCqVilgco6gIoqMtNmwwzJ6d\nTJs2uXZHEhGpdI5e0EPbIAaO4mJ4+GHDd9/BjBlbads2x+5IIiJVwtEjYm2DGBhKSyEmxvDFF4YZ\nM7bRvn223ZFERKqMo4tY/F9ZGfTvb/jf/zVMm7ad8PCTdkcSEalSjp6aFv/m8UB8vOGjj+C3v02h\nU6cTdkcSEalyKmKxhWXBkCGGlSvhhRdSuOsut92RRERsoSKWKmcMjBxp+P3vYeLEndx33zG7I4mI\n2EZFLFXu+ecNiYkuxozZTY8eWXbHERGxlYpYqtT06YZZs1w89dQe+vQ5YnccERHbqYilyixaBJMn\nu4iP30dMzCG744iIOIKKWKrE8uUwahT063eQgQMP2B1HRMQxLqqIExMTadGiBbVq1aJTp05s2LCh\nXK/77rvvqF69OrfddtvFHFZ81B//6L1COjr6MMOGpeFy2Z1IRMQ5KlzEq1evZty4cUydOpXNmzfT\nrl07IiMjcbvPf/tJdnY2gwYNonv37hcdVnzPX/4Cjz1m6NYti1GjUlXCIiL/ocJFnJCQwLBhwxg4\ncCCtW7dm2bJl1K5dm+XLl5/3dcOHD+exxx6jU6dOFx1WfMsXX8CjjxruuMPNhAm7CNKJEBGRn6nQ\nR2NpaSkbN26kW7dupx9zuVx0796d9evXn/N1b731Fvv27eO3v/3txScVn7J+PURHG2699SSTJ6cQ\nHGzsjiQi4kgVWmva7Xbj8XgIDQ094/HQ0FB27dp11tekpqby/PPP8+233xKkIVFA2LwZoqIMN96Y\nzcsvb6dGDZWwiMi5VOqmD5Zl8dhjjzF16lRuuOEGAIzRh7I/27EDevSwuOaafKZP30bNmpbdkURE\nHK1CRdywYUOCg4PJyjpzNaSsrCwaN278s+fn5ubyww8/sGXLFkaMGAF4y9kYQ40aNfjss8+47777\nznm8li1b4nK5CAsLIywsDIC4uDji4uIqEluqSFoadOtmERJSyKxZydSp47E7koiI41WoiKtXr054\neDhJSUlER0cD3hFuUlISI0eO/Nnzr7zySrZv337GY4mJiXz55Ze8//77XHfddec9XmpqqvYj9hGH\nDnlLuFq1YubMSSYkpMzuSCIiPqHCU9Njx44lPj6e8PBwOnToQEJCAgUFBcTHxwMwadIkMjIyWLFi\nBS6Xi5tvvvmM11999dXUrFmTNm3aXJYfQOx39Ch0725RVFTKggVbuOqqErsjiYj4jAoXcUxMDG63\nmylTppCVlUX79u1Zu3YtjRo1AiAzM5P09PTLHlScKTsbIiMt3O4yFi7cQmhosd2RRER8iss48Oqp\nnJwcQkJCyM7O1tS0gxUWQs+ehuRkDwsWbOb66/PtjiQiUmUiIiKoU6fOJX+fSr1qWvxXaal3sY4f\nfrCYO3erSlhE5CKpiKXCLAsGDTJ89plhxozt3HJLjt2RRER8llbYkAoxBp55xrB6NUyevIOIiJN2\nRxIR8WkqYqmQKVMMS5e6GDt2N/fee8zuOCIiPk9FLOWWkAD//d8uhg3bS+/eR+yOIyLiF1TEUi6/\n/z2MHQtxcQeJjdXtaSIil4su1pIL+ugjGDzY0Lv3EYYMSbM7joiIX9GIWM4rKQn69TPcffcxxozZ\njctldyIREf+iIpZz+v57ePBBQ7t2J3nhhR0EB9udSETE/2hqWs4qJQWioiyuuy6PqVO3U7264xZg\nExHxCxoRy8/s3+/dxOG//quQmTO3UquW9hQWEaksji7i2NhYoqOjWblypd1RAkZmpreEg4KKmT07\nmXr1tJ2hiEhlcvTU9KpVq7TpQxU6dQp69rTIzi5j0aJkGjTQdoYiIpXN0UUsVaegAHr3Nhw8aJGQ\nsIUmTYrsjiQiEhBUxEJpKfTta9i82WLu3GRatCiwO5KISMBQEQc4Y2DIEMNnn8GMGdu5+eZcuyOJ\niAQUR1+sJZVv/HjDihUuJkzQTkoiInZQEQewuXNh7lwXI0ak0r37UbvjiIgEJBVxgHr7bXjuOXjs\nsQM8+uhhu+OIiAQsnSMOQJ9+Ck884d3EYfDgfXbHEREJaBoRB5h167xXSN9xx3HGjEnVJg4iIjbT\niDiA/Pgj9O5t0bJlLpMnpxAcrPWjRUTsphFxgDh40LtqVoMGhUyfvo0rrtD60SIiTqAiDgBuN/To\nYWFMCa8MYKe1AAAPOElEQVS8kkzdulo/WkTEKTQ17efy8uD++y2OHfNo/WgREQdSEfuxkhL41a8M\nP/5omD8/maZNC+2OJCIi/8HRU9PaBvHiWRbExxu+/NLw8svbuOmmPLsjiYjIWTh6RKxtEC+OMTB2\nrGHVKpgyZQfh4afsjiQiIufg6BGxXJxZswwLF7oYNSqV++47ZnccERE5DxWxn3nzTXj+eReDBu3n\nwQcz7I4jIiIX4OipaamYjz+GoUMN0dEZDBq03+44IiJSDhoR+4lvv4XYWMPdd7sZOVJLV4qI+AoV\nsR/48Ud44AFD69bZPP98CsHBdicSEZHy0tS0jzt0CCIjLRo2LGTatG3UqKH1o0VEfIlGxD7s1CmI\nirLweEqZNSuZunU9dkcSEZEK0ojYRxUVQXS0IT3dYtGiZBo21NKVIiK+SEXsgzwe+PWvDd9/b5g7\ndyvXXltgdyQREblImpr2McbA6NGGDz+EyZN/pG3bHLsjiYjIJVAR+5jZsw1LlrgYNWo3d9113O44\nIiJyiVTEPuR//gcmTnQxYMB+oqOP2B1HREQuA50j9hGffQZPPGHo1SuTxx/fb3ccERG5TDQi9gGb\nNsEjjxhuv/0EY8fu1qpZIiJ+xNFFrP2IIS3Ne69w8+a5TJnyI9WqacEOERF/4uip6UDfj/jYMejZ\n06JmzWJmzNhGrVqW3ZFEROQyc3QRB7L8fLj/fouTJ8tYvDiZ+vVL7Y4kIiKVQEXsQKWl0LevISXF\nkJCwlWuuKbI7koiIVBIVscMYA8OGGT7/HGbO3E6rVnl2RxIRkUrk6Iu1AtGLLxreesvF+PE7uf32\nk3bHERGRSqYidpBly2D6dBdDh+6lR48su+OIiEgV0NS0Q3z0EYwYYXjkkcPExqbbHUdERKqIRsQO\n8N13EBdnuOeeY4wYsUcLdoiIBBAVsc127YI+fQytW2czadJOgvRfREQkoFzUx35iYiItWrSgVq1a\ndOrUiQ0bNpzzuR9++CE9e/bk6quvJiQkhM6dO/PZZ59ddGB/kpkJkZEWISGFTJu2nRo1tGCHiEig\nqXARr169mnHjxjF16lQ2b95Mu3btiIyMxO12n/X5X3/9NT179mTNmjVs2rSJLl260KdPH5KTky85\nvC/Ly4PevS3y88uYNSuZunXL7I4kIiI2cBljKrR4cadOnejYsSMLFy4EwBhDs2bNGDlyJOPHjy/X\n92jbti2xsbFMnjz5rP8+JyeHkJAQsrOz/XKJy7IyiI42fPWVxcKFm7nxRt0rLCLiayIiIqhTp84l\nf58KjYhLS0vZuHEj3bp1O/2Yy+Wie/furF+/vlzfwxhDbm4uV111VcWS+glj4KmnvAt2vPTSdpWw\niEiAq1ARu91uPB4PoaGhZzweGhpKZmZmub7HnDlzyM/PJyYmpiKH9hvTpxveeMPFuHG7iIjQgh0i\nIoGuSu8jfvfdd5k2bRqffPIJDRs2rMpDO8L//A+8+KKL+Ph9REWV7w8uIiLi3ypUxA0bNiQ4OJis\nrDNXfcrKyqJx48bnfe2qVasYOnQo7733Hl26dCnX8Vq2bInL5SIsLIywsDAA4uLiiIuLq0hsR/jb\n3+CJJwy9emUycOABu+OIiIhDVKiIq1evTnh4OElJSURHRwPec75JSUmMHDnynK9buXIlTz75JKtX\nryYqKqrcx0tNTfWLi7W2boWHHzb88pcnGTt2txbsEBGR0yo8NT127Fji4+MJDw+nQ4cOJCQkUFBQ\nQHx8PACTJk0iIyODFStWAN7p6Pj4eBYtWkRERMTp0XStWrX8omQv5NAh6NXLokmTAl566UeqVavQ\nReoiIuLnKlzEMTExuN1upkyZQlZWFu3bt2ft2rU0atQIgMzMTNLT/71W8uuvv47H42HEiBGMGDHi\n9OODBg1i+fLll+FHcK7sbIiKsvB4Spk5cyu1a3vsjiQiIg5T4fuIq4I/3EdcUuIt4R9+sFi8eBPX\nXltgdyQREbmMLtd9xNp9qRIY470w69tvYc6cbSphERE5J20xUAleeMHwzjsuJk7cQbt22XbHERER\nB1MRX2avvgozZ7oYPnwvXbseszuOiIg4nKamL6O//AWeftrw8MOHiYlJv/ALREQk4GlEfJls2AD9\n+hk6d3YzYsQe3SssIiLlohHxZZCW5t3S8Lrr8pg8eQfBwXYnEhERX6ER8SU6ftx7m9IVVxQzffo2\nrrjCsjuSiIj4EI2IL0FhIfTpY+F2e1i8OJn69UvtjiQiIj5GRXyRPB547DHD5s0wf/5WwsKK7I4k\nIiI+SFPTF2nsWMPHH8PkyT/Spk2u3XFERMRHObqIY2NjiY6OZuXKlXZHOUNCAixa5OKZZ1K5887j\ndscREREf5uip6VWrVjlurek//QnGjTPExaXz0EMZdscREREf5+gRsdN8+y0MGGDo0uUoTz6ZZncc\nERHxAyrictq5E/r0MbRpk82ECTsJ0m9OREQuA0dPTTtFVhb06mVRv34R06Ztp0YNx+0cKSIiPkpF\nfAEFBd57hXNzy1iyJJm6dcvsjiQiIn5ERXwe/7pXeNs2w4IFW2ncuNjuSCIi4md0pvM8xo0zfPIJ\nvPhiCjfdlGd3HBER8UMq4nNYtAgWLnTxm9+k0rmz7hUWEZHKoanps/j4Yxg92hATc4iHH9a9wiIi\nUnk0Iv4PGzZAXJzh7rvdDBu21+44IiLi5zQi/ol9+7z7Cl9/fR7PP79D9wqLiEilU9X8v5Mn4f77\nLapXL+G//1v7CouISNXQiBgoLoaHH7bIyLBYskT7CouISNUJ+CI2BgYPNqxbB3PnbqNZs0K7I4mI\nSAAJ+Knp3/7W8M47LiZO3Mmtt2bbHUdERAKMo4u4svcjfustmDbNxZAhaXTterRSjiEiInI+jp6a\nrsz9iP/2Nxg61NC79xHi4g5WyjFEREQuxNEj4sqyfTs88ojhl788yejRqbhcdicSEZFA5egRcWXI\nyPBuaRgaWsBLL/1ItWra0lBEROwTUEWclwcPPGBRXFzK/PnbqF3bY3ckEREJcAFTxGVl0K+fYdcu\nw8KFW2nUSFsaioiI/QKiiI2BZ54xrF0LM2Zs58Yb8+2OJCIiAgTIxVpz5xqWLXMxevRuOnQ4aXcc\nERGR0/y+iP/0Jxg/3kX//gd44IEjdscRERE5g19PTa9bBwMGGLp2PcrgwfvsjiMiIvIzflvEe/ZA\ndLTFTTflMmHCTm1pKCIijuSX9eR2Q1SURe3axbz88jZq1NC9wiIi4kx+NyIuKoIHH7Q4ftzDkiXJ\nhISU2R1JRETknPyqiC0LBg40bNwI8+dvIyysyO5IIiIi5+VXU9OTJhneew8mTUrh5ptz7I4jIiJy\nQX5TxK++CrNnuxg+fC/33uu2O46IiEi5OLqIy7sf8Zo1MGKE4aGHDtO376EqSiciInLpHH2OuDz7\nEW/ZAn37Gjp2PM5vfqMtDUVExLc4uogvJD0d7r/fomnTfCZPTiE42O5EIiIiFePoqenzycnxlrBl\nlTJ9+jZq1bLsjiQiIlJhPjkiLi2FX/3KsH+/xaJFyTRoUGJ3JBERkYvic0VsDAwfbvj73+GVV7bT\nokWB3ZFEREQums9NTc+YYVi+3MW4cTu57bZTdscRERG5JD5VxO++C5Mnuxg0aD9RUVl2xxEREblk\nPjM1/dVX8Pjjhp49sxg0aL/dcURERC4LnxgR79wJDz1kuOWWbJ59dpfuFQ5wSUlJdkcQB9P7Q87H\nie8PxxdxVhb06mVRv34hL7+8nerVtaVhoPviiy/sjiAOpveHnI8T3x+OnpouKIDoaIucnDISE7dS\nt662NBQREf/i6BHxk08atm0zzJixjcaNK29Lw6qcqtCxLt2xY8eq7Fjgv79Hfz1WVb4//PV3WNXH\n89f3x4X2SfgXRxfx//4vvPhiCjfdlFupx6nKqQod69K53VW7u5a//h799VhV+f7w199hVR/PX98f\n5S3iKp+aNsaQm3v+Yl2wwLuXcHz8Vtq1yyE/v3IzlZWVkV/ZB9GxLhtjTJUdC/z39+ivx6rK94e/\n/g6r+ni++v7IycnB4/Gc89+XlZWRk5NDvXr1cJ3nKmOXMaZKr37KyckhJCSkKg8pIiJim+zs7PPu\nJFjlRVyeEfH33+fQo0cz0tPTL7gNooiIiJM5bkRcHv8aNV/oTxEiIiK+ztEXa4mIiPg7FbGIiIiN\nVMQiIiI2UhGLiIjYSEUsjpOYmEiLFi2oVasWnTp1YsOGDed87ldffUVQUNAZX8HBwRw9erQKE4vd\nvvnmG6KjowkLCyMoKIhPPvnE7khSxSr6HnDSZ4cji7hevXpkZ2dTr149u6NIFVu9ejXjxo1j6tSp\nbN68mXbt2hEZGXne1XBcLhepqalkZmaSmZnJkSNHuPrqq6swtdgtPz+f9u3bs3Tp0vPeJiL+62Le\nA0757HDkpg8ul0u3LQWohIQEhg0bxsCBAwFYtmwZn376KcuXL2f8+PHnfF2jRo30nglgUVFRREVF\nAd61CiTwXOx7wAmfHY4cEUtgKi0tZePGjXTr1u30Yy6Xi+7du7N+/fpzvs4YQ/v27bnmmmvo2bMn\n69atq4q4IuLjnPLZoSIWx3C73Xg8HkJDQ894PDQ0lMzMzLO+pkmTJrz66qu8//77fPDBBzRr1oz7\n7ruPLVu2VEVkEfFRTvrscOTUtEh5tWrVilatWp3+506dOrF3714SEhJYsWKFjclExMmc9NmhEbE4\nRsOGDQkODiYrK+uMx7OysmjcuHG5v0+HDh3Ys2fP5Y4nIn7Ors8OFbE4RvXq1QkPDz9jk3BjDElJ\nSXTu3Lnc32fLli00adKkMiKKiB+z67NDU9PiKGPHjiU+Pp7w8HA6dOhAQkICBQUFxMfHAzBp0iQy\nMjJOTx0tXLiQFi1acMstt1BUVMTrr7/Ol19+yeeff27jTyFVLT8/nz179py+WjYtLY3k5GSuuuoq\nmjVrZnM6qQoXeg84+bNDRSyOEhMTg9vtZsqUKWRlZdG+fXvWrl1Lo0aNAMjMzCQ9Pf3080tKShg3\nbhwZGRnUrl2bW2+9laSkJO655x67fgSxwQ8//ECXLl1wuVy4XC7GjRsHwKBBg1i+fLnN6aQqXOg9\n4OTPDkdugygiIhIodI5YRETERipiERERG6mIRUREbKQiFhERsZGKWERExEYqYhERERupiEVERGyk\nIhYREbGRilhERMRGKmIREREbqYhFRERspCIWERGx0f8B8RHmF1I/seoAAAAASUVORK5CYII=\n", "text/plain": [ "Graphics object consisting of 2 graphics primitives" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(sin, [x, 0, pi/2], fill=True, figsize=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\tsinの積分は、-cosですから、定積分は以下のようになります。\n", "$$\n", "\t\t[ -cos(x) ]_0^\\pi = \\{ 0 - (-1) \\} = 1\n", "$$\t\t\n", "\t

\n", "\t

\n", "\t\tそれでは、Sageを使って、$sin(x)$を0から$\\pi/2$の範囲で積分してみましょう。\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(sin(x), x, 0, pi/2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\tもう一つ、以下の関数を積分した例をみてみましょう。\n", "$$\n", "\t\t\\int_{0}^{3}x^2 + 2sin(x)\\,dx\n", "$$\t\t\n", "\t

\n", "\t

\n", "\t\t先ほどと同様に、積分範囲をプロットしてみます。\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nq6+u0T1rtMUlat+VV16pK6+88tS/33zzzdq9e7cWLFigt956y8LK4Gv4Lp1ZdHS0kpOTtWHDBqtL\nsVxlnwXfpf+5+uqrtWXLFuXm5urvf/+7RowYoa+//rpGYUyP2I2aNWum4OBgZWZmnvZ5ZmamLr74\n4krfJyIiQmlpabVdHgJQoH+XJkyYoE8++URr165VixYtrC7HUjV9FoH6XQoJCdHll1+uG264QbNn\nz1bbtm316quv1uieBLEb1alTR+3bt9fq1atPfWaM0erVq9WxY8dK32fz5s0B/0sDtSOQv0sTJkzQ\nypUr9dVXX6lVq1ZWl2Op2ngWgfxd+iWn06mSkpIa3YOhaTd76KGHFBUVpfbt2ysiIkILFizQyZMn\nFRUVJUl67LHHdPjw4VPDO6+++qpat26ta665RsXFxYqLi9NXX32lL774wsL/C+sUFhYqLS1N5r+n\ndaanp2vLli1q2rSpWrZsaXF1nnW+Z8F36eyio6MVHx+vVatWqVGjRqdGqcLCwlS/fn2Lq/OsyjyL\nmTNn6tChQ3yXfmXmzJnq1auXWrVqpfz8fL333ntat26dPv/885rduIYzt1EJixYtMpdddpmpX7++\nufnmm01iYuKp/xYVFWXuvPPOU//+wgsvmCuuuMI0bNjQNGvWzHTp0sWsW7fOirK9wtq1a43NZjNB\nQUGn/XP//fdbXZrHne9Z8F06uzM9t6CgIPPWW29ZXZrHVeZZ8F06s9GjR5vWrVub+vXrm+bNm5vu\n3bub1atX1/i+NmP+++c1AADwON4RAwBgIYIYAAALEcQAAFiIIAYAwEIEMQAAFiKIAQCwEEEMAICF\nCGIAACxEEAMAYCGCGAAACxHEAABY6P8D3vfdtwxpvTYAAAAASUVORK5CYII=\n", "text/plain": [ "Graphics object consisting of 2 graphics primitives" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot(x^2 + 2*sin(x), [x, 0, 3], fill=True, figsize=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\t積分の結果は、関数で返されるのでN(_)を使って数値に変換します。\n", "\t

\n", "\t

\n", "\t\tこのように関数のプロット結果から推定される概算と積分の結果をみながら、\n", "\t\t計算結果を確認しながら、進められるのもSageの特徴です。\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "-2*cos(3) + 11" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(x^2+2*sin(x), x, 0, 3)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "12.9799849932009" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N(_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

数値積分

\n", "\t

\n", "\t\tすべての関数が定積分できるとは限りません、そこでSageには数値積分を行う\n", "\t\tnumerical_integral関数が用意されています。\n", "\t

\n", "\t

\n", "\t\tnumerical_integral関数の使い方は、以下の通りです。\n", "\t\t関数の戻り値は、積分結果と誤差のタプルが返されます。\n", "\t

\n", "\t
\n",
    "\tnumerical_integral(被関分館数, 積分範囲)\n",
    "\t
\n", "\t

\n", "\t\t例として、$sin(x)$を0から$\\pi/2$で数値積分した結果を以下に示します。\n", "\t

\t\n", "" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(1.0, 1.1102230246251565e-14)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sigma, error = numerical_integral(sin(x), 0, pi/2); (sigma, error)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

積分の応用

\n", "\t

\n", "\t\t積分の応用例として、サイクロイドの計算をしてみます。\n", "\t

\n", "\t

\n", "\t\tサイクロイドは、tをパラメータとして、以下のような式で表されます。\n", "$$\n", "\t\t\\left\\{\\begin{eqnarray}\n", "\t\t\tx &=& 2(t-sin(t)) \\\\\n", "\t\t\ty &=& 2(1-cos(t))\n", "\t\t\\end{eqnarray}\\right.\n", "$$\t\t\n", "\t

\n", "\t

\n", "\t\tこの曲線の長さは、以下の積分で計算することができます。\n", "$$\n", "\t\t\\int_{0}^{2\\pi}\\sqrt{(\\frac{dx}{dt})^2+(\\frac{dy}{dt})^2}dt\n", "$$\t\n", "\t\t解析解では、この結果は16となります。\t\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 1 graphics primitive" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = var('t')\n", "x(t) = 2*(t-sin(t))\n", "y(t) = 2*(1-cos(t))\n", "parametric_plot([x, y], (t, 0, 2*pi), figsize=5)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "cycloid(t) = sqrt(diff(x,t)^2+diff(y,t)^2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\t残念ながら、integrate関数を使うと0が返ってきます。\n", "\t

\n", "" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(cycloid(t), t, 0, 2*pi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\t

\n", "\t\t次に数値積分で計算してみます。16に近い値が求まります。\n", "\t

\n", "\t

\n", "\t\tSageのような数式処理で計算する場合には、途中計算のチェックや他の手法との相互\n", "\t\tチェックをするように心がけるとよいでしょう。\n", "\t

\n", "\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(15.999999999999998, 1.7763568394002502e-13)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numerical_integral(cycloid, 0, 2*pi)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 7.2", "language": "", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }