{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2023年度計算機演習A・B\n",
    "\n",
    "# 第7回レポート課題の解説"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 演習1\n",
    "\n",
    "関数 $f(x)=\\sqrt{x}+1$ に対して、区間 $[0,1]$ の分割数 $3$ の等分割に関する左リーマン和と右リーマン和を考えます。\n",
    "\n",
    "それぞれに対応する図を描画した上で値を求めるコードを書いてください。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数3の等分割に関する左リーマン和の値は 1.4646156167057838\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数3の等分割に関する右リーマン和の値は 1.797948950039117\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def f(x):\n",
    "    return math.sqrt(x)+1\n",
    "\n",
    "def draw_f():\n",
    "    x_list = []\n",
    "    y_list = []\n",
    "    for i in range(201):\n",
    "        x = i/200\n",
    "        x_list.append(x)\n",
    "        y_list.append(f(x))\n",
    "    plt.plot(x_list,y_list,\"k-\")\n",
    "\n",
    "draw_f()\n",
    "plt.fill([0,1/3,1/3,0],[0,0,f(0),f(0)],\"r\",alpha=0.5)  #長方形の頂点のx,y座標を左下、右下、右上、左上の順に並べる\n",
    "plt.fill([1/3,2/3,2/3,1/3],[0,0,f(1/3),f(1/3)],\"r\",alpha=0.5)\n",
    "plt.fill([2/3,1,1,2/3],[0,0,f(2/3),f(2/3)],\"r\",alpha=0.5)\n",
    "plt.show()\n",
    "\n",
    "print(\"分割数3の等分割に関する左リーマン和の値は\",f(0)*(1/3)+f(1/3)*(1/3)+f(2/3)*(1/3))  #描画した長方形の面積（縦×横）の和を計算する\n",
    "\n",
    "draw_f()\n",
    "plt.fill([0,1/3,1/3,0],[0,0,f(1/3),f(1/3)],\"g\",alpha=0.5)\n",
    "plt.fill([1/3,2/3,2/3,1/3],[0,0,f(2/3),f(2/3)],\"g\",alpha=0.5)\n",
    "plt.fill([2/3,1,1,2/3],[0,0,f(1),f(1)],\"g\",alpha=0.5)\n",
    "plt.show()\n",
    "\n",
    "print(\"分割数3の等分割に関する右リーマン和の値は\",f(1/3)*(1/3)+f(2/3)*(1/3)+f(1)*(1/3))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 演習2\n",
    "\n",
    "関数 $f(x)=\\sqrt{x}+1$ に対して、区間 $[0,1]$ の分割数 $n$ の等分割に関する左リーマン和と右リーマン和を考えます。\n",
    "\n",
    "左リーマン和に対応する図を描画する関数`draw_left_RS(n)`、左リーマン和の値を返す関数`calc_left_RS(n)`、右リーマン和に対応する図を描画する関数`draw_right_RS(n)`、右リーマン和の値を返す関数`calc_right_RS(n)`を定義してください。\n",
    "\n",
    "$n=4$ の場合に、定義したそれぞれの関数を呼び出してください。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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QfLz848I9fz8/PJHBFxwwQV0796de++9l+7du9O1a1caNGgQ56qltovmiP414GVgakUb3f1F4EUAMxsCPHTUdIFXuvu2KtYpEjjuzrp168oDfenSpSxfvpy9e/cCcO6559K9e3eGDRtGt27d6Natm57MKKek0qB394Vm1jrK97sRmF6likQCateuXXzyySfk5OSwZMkScnJyys+rn3nmmXTt2pW7776b7t27061bN9q2bVtrp62TxBKzc/RmVh8YCIyNaHbgXTNzYLK7TznB/mOAMQCtWrWKVVkiceHufPHFFyxZsqR8WbNmTfkpmEsvvZSsrCx69uxJt27dyMjI0CN3pdrE8mLsEGDxUadt+rr7ZjM7D5hvZp+6+8KKdg7/EJgCocnBY1iXSLU7fLR+ONRzcnLKb21s2LAhPXr0YNiwYfTq1YsePXrQqFGj+BYsdUosg34kR522cffN4V+3mtlMoDtQYdCLJAp35/PPPy8P9KOP1tu1a8ewYcPo2bMnvXr14tJLLz3y+S8iNSwmQW9mDYF+wOiItrOA09x9V/j1NcAzsfg8kZq0f/9+li9fzocffsiiRYtYvHixjtYloURze+V04Aog1cyKgKeAegDuPincbRjwrrvvidi1GTAzfDEpGXjd3efGrnSR6rFjxw6WLFnCokWLWLRoEZ988gn79u0D4OImTfhhq1b07tOHXmlpXJKaymmHL5guWRJaRGqZaO66uTGKPq8Rug0zsm0d0OlUCxOpKUVFReWhvmjRIvLy8nB3kpOT6dq1K/feey99+/alT58+nPeHP8S7XJGTpm/GSp1SVlbG2rVrjwj2w98yPfvss+nVqxfjx4+nb9++9OjRQ09tlEBQ0EuglZWVsXr1ahYsWMCCBQtYuHBh+fn15s2b07dvXx588EG+//3v07FjR5I1E5IEkP5WS6CUlZWRl5d3RLB/++23ALRt25asrCz69etH37599YUkqTMU9JLQDh06dESwf/jhh+XBfuGFFzJ8+HD69etHv3799EU8qbMU9JJQDh06xKpVq44I9h07dgBw0UUX8aMf/ag82NPS0uJbrEgtoaCXWs3d+fLLL3nvvfd4//33+eCDD8rPsaenpzNixAiuuOIK+vXrR8uWLeNcrUjtpKCXWuebb77hgw8+KA/3DRs2AJCWlsbQoUPp378/V155JS1atIhzpSKJ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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数 4 の等分割に関する左リーマン和の値は 1.5182830462427466\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数 4 の等分割に関する右リーマン和の値は 1.7682830462427466\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def f(x):\n",
    "    return math.sqrt(x)+1\n",
    "\n",
    "def draw_f():\n",
    "    x_list = []\n",
    "    y_list = []\n",
    "    for i in range(201):\n",
    "        x = i/200\n",
    "        x_list.append(x)\n",
    "        y_list.append(f(x))\n",
    "    plt.plot(x_list,y_list,\"k-\")\n",
    "\n",
    "def draw_left_RS(n):\n",
    "    draw_f()\n",
    "    for i in range(n):  #i=0からn-1まで繰り返す\n",
    "        plt.fill([i/n,(i+1)/n,(i+1)/n,i/n],[0,0,f(i/n),f(i/n)],\"r\",alpha=0.5)  #「(i+1)/n」と「i+1/n」は違うので注意\n",
    "    plt.show()\n",
    "\n",
    "def calc_left_RS(n):\n",
    "    value = 0\n",
    "    for i in range(n):\n",
    "        value = value+f(i/n)*(1/n)\n",
    "    return value\n",
    "\n",
    "def draw_right_RS(n):\n",
    "    draw_f()\n",
    "    for i in range(n):\n",
    "        plt.fill([i/n,(i+1)/n,(i+1)/n,i/n],[0,0,f((i+1)/n),f((i+1)/n)],\"g\",alpha=0.5)\n",
    "    plt.show()\n",
    "\n",
    "def calc_right_RS(n):\n",
    "    value = 0\n",
    "    for i in range(n):\n",
    "        value = value+f((i+1)/n)*(1/n)\n",
    "    return value\n",
    "\n",
    "n = 4\n",
    "draw_left_RS(n)\n",
    "print(\"分割数\",n,\"の等分割に関する左リーマン和の値は\",calc_left_RS(n))\n",
    "draw_right_RS(n)\n",
    "print(\"分割数\",n,\"の等分割に関する右リーマン和の値は\",calc_right_RS(n))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 演習3（オプション）\n",
    "\n",
    "関数 $f(x)=\\sqrt{x}+1$ に対して、区間 $[0,1]$ の分割数 $n$ の等分割に関する左リーマン和と右リーマン和を考えます。\n",
    "\n",
    "右リーマン和と左リーマン和の差が $0.01$ より小さくなるような最小の $n$ を求めるコードを書いてください。\n",
    "\n",
    "また、定積分 $\\int_0^1 \\left(\\sqrt{x}+1\\right)\\,dx$ の値を手計算で求め、上記の $n$ に対する左リーマン和および右リーマン和の値と比較して考察してください。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "右リーマン和と左リーマン和の差が0.01より小さくなるような最小のnは 100\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数 100 の等分割に関する左リーマン和の値は 1.661462947103148\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数 100 の等分割に関する右リーマン和の値は 1.6714629471031477\n"
     ]
    }
   ],
   "source": [
    "n = 1\n",
    "while calc_right_RS(n)-calc_left_RS(n) >= 0.01:\n",
    "    n = n+1\n",
    "\n",
    "print(\"右リーマン和と左リーマン和の差が0.01より小さくなるような最小のnは\",n)\n",
    "\n",
    "draw_left_RS(n)\n",
    "print(\"分割数\",n,\"の等分割に関する左リーマン和の値は\",calc_left_RS(n))\n",
    "draw_right_RS(n)\n",
    "print(\"分割数\",n,\"の等分割に関する右リーマン和の値は\",calc_right_RS(n))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### （考察）\n",
    "\n",
    "定積分の値を計算すると\n",
    "\n",
    "$$\n",
    "\\int_0^1 \\left(\\sqrt{x}+1\\right)\\,dx=\\left[\\frac{2}{3}x^{\\frac{3}{2}}+x\\right]_0^1=\\frac{5}{3}=1.666\\cdots\n",
    "$$\n",
    "\n",
    "であるから、分割数 $100$ の等分割に関して\n",
    "\n",
    "$$\n",
    "\\text{（左リーマン和）}<\\int_0^1 \\left(\\sqrt{x}+1\\right)\\,dx<\\text{（右リーマン和）}\n",
    "$$\n",
    "\n",
    "が成り立つことが分かる。関数 $f(x)=\\sqrt{x}+1$ は単調増加なので、これは理論的な結果に一致している。\n",
    "\n",
    "また、次のコードから分かるように、右リーマン和の方が定積分の値に近い。関数 $f(x)=\\sqrt{x}+1$ は単調増加かつ上に凸なので、これは一般の $n$ についても成り立つと言える。上で描画した $n=4$ の場合の図を見ると、その理由が分かりやすい。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分割数 100 の等分割に関する右リーマン和の値と定積分の値の差は 0.004796280436480949\n",
      "定積分の値と分割数 100 の等分割に関する左リーマン和の値の差は 0.005203719563518838\n"
     ]
    }
   ],
   "source": [
    "print(\"分割数\",n,\"の等分割に関する右リーマン和の値と定積分の値の差は\",calc_right_RS(n)-5/3)\n",
    "print(\"定積分の値と分割数\",n,\"の等分割に関する左リーマン和の値の差は\",5/3-calc_left_RS(n))"
   ]
  }
 ],
 "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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
