{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "
\n", "数値計算試験問題\n", "
\n", "
\n", "
\n", "2020/12/18 実施\n", "
\n", "cc by Shigeto R. Nishitani 2020 \n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# fitting(25点)\n", "\n", "次のデータにフィットした二次関数を求め,データと同時に plot せよ.\n", "\n", "``` python\n", "import numpy as np\n", "\n", "xdata = np.array([1,2,3,4])\n", "ydata = np.array([1,8,9,10])\n", "```" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-7.5 10.3 -1.5]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.optimize import curve_fit\n", "\n", "def f(x, a0, a1, a2):\n", " return a0 + a1*x + a2*x**2\n", "\n", "xdata = np.array([1,2,3,4])\n", "ydata = np.array([1,8,9,10])\n", "plt.plot(xdata,ydata, 'o', color='r')\n", "\n", "params, cov = curve_fit(f, xdata, ydata)\n", "print(params)\n", "\n", "x =np.linspace(0,4,20)\n", "y = f(x,params[0],params[1],params[2])\n", "plt.plot(x,y, color='b')\n", "\n", "plt.grid()\n", "plt.show()" ] }, { "attachments": { "image.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "# fsolve(25点)\n", "\n", "次の関数\n", "$$\n", "f(x) = -\\left(\\frac{1}{x}\\right)^6+2\\,\\left(\\frac{1}{x}\\right)^{12}\n", "$$\n", "は図に示す通り,解$1.1224620483093721$を持つ.\n", "![image.png](attachment:image.png)\n", "\n", "二分法とNewton法によって数値解を求めよ.\n", "二分法の初期値は$x=1..2$,Newton法の初期値は$x=1$とし,\n", "繰り返しは10回程度で求めよ.\n", "収束の様子を片対数(logplot)で同時にプロットせよ.\n", "\n", "与関数$f(x)$ の微分は\n", "``` python\n", "def df(x):\n", " return (6.0/x**7.0)-(24.0/x**13.0)\n", "```\n", "で与えられる.\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.1224620483093721\n" ] } ], "source": [ "import numpy as np\n", "\n", "def func(x):\n", " return -(1.0/x**6.0)+(2.0/x**12.0)\n", "\n", "def dfunc(x):\n", " return (6.0/x**7.0)-(24.0/x**13.0)\n", "\n", "\n", "from scipy.optimize import fsolve\n", "x0 = fsolve(func, 0.5)[0]\n", "print(x0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD8CAYAAAB3u9PLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de3RU9b338fc3IYFcCBAIl5ChRsQQtApWK1pdJooXeLDarlalp97aClZ7OV3Yap9Wz9Olj/Ws09PaVixFbcW2q5Sl9miVU59CzbE3L7UiVBBN0UK4h4sQIMQk3+ePTDIhDCFk9syemXxea+2Vvff8Zn7f/Bbsz+xrzN0RERHJCbsAERFJDwoEEREBFAgiIhKlQBAREUCBICIiUQoEEREBAgoEM/uJmW03s78f5XUzsx+YWb2ZrTKzM4LoV0REghPUHsKjwGW9vD4TmBSd5gI/CqhfEREJSCCB4O4vALt6aXIF8Jh3eBEYbmbjguhbRESCMShF/YwHNnZbboiu29KzoZnNpWMvgry8vA9VVlampMB0197eTk6OTvloHGI0FjEai5i33nqr0d3L+vPeVAWCxVkX95kZ7r4IWAQwatQoX7duXTLryhh1dXXU1NSEXUboNA4xGosYjUWMmf2zv+9NVaQ2AJFuyxXA5mO96f33309aQSIicrhUBcLTwHXRq42mA++5+xGHi3pqaWlJfmUiIgIEdMjIzH4J1ACjzKwB+DcgD8DdFwLLgFlAPXAAuLEvn6s9BBGR1AkkENx9zjFed+DW4/3ctrY2mpqaKC4u7ndtIiLSN2l/Wn79+vVhlyAiMiCkfSD84x//CLsEEZEBIe0Dob6+PuwSREQGhLQOhJycHO0hiIikSFoHQn5+vvYQRERSJK0DIS8vT3sIIiIpkvaBsGHDBt2gJiKSAmkdCPn5+bS3t/Puu++GXYqISNZL60DIy8sDdOmpiEgqpHUg5OfnA7r0VEQkFdI6EHJzcykqKtIegohICqR1IABMnDhRewgiIimQ9oFw0kknaQ9BRCQF0j4QJk6cyPr162lrawu7FBGRrJb2gXDSSSfR0tLCpk2bwi5FRCSrpX0gTJw4EdClpyIiyZYxgaATyyIiyZX2gRCJRPRMIxGRFEj7QMjNzaWyslJ7CCIiSZb2gQBQVVXFm2++GXYZIiJZLZBAMLPLzGydmdWb2R1xXh9mZr8xs9fN7A0zu/F4Pr+6upq33nqL1tbWIMoVEZE4Eg4EM8sFFgAzgSnAHDOb0qPZrcAadz8dqAH+08zy+9pHdXU177//PuvXr0+0XBEROYog9hA+DNS7+3p3bwGWAFf0aOPAUDMzoBjYBfT56351dTUAa9euDaBcERGJZ1AAnzEe2NhtuQE4u0ebB4Cngc3AUOBqd2+P92FmNheYC1BWVkZdXR379+8H4Nlnn2XYsGEBlJx5mpqaqKurC7uM0GkcYjQWMRqLYAQRCBZnnfdYvhRYCVwITAR+Z2Z/cPe9R7zRfRGwCKCqqspramoAGD9+PM3NzXQuDzR1dXUD9nfvTuMQo7GI0VgEI4hDRg1ApNtyBR17At3dCDzpHeqBd4DJx9NJdXW1DhmJiCRREIHwCjDJzCqjJ4qvoePwUHcbgIsAzGwMUAUc1xni6upq3nzzTdx77nyIiEgQEg4Ed28FvgA8B6wFlrr7G2Z2s5ndHG12N3Cuma0GVgC3u3vj8fQzZcoUmpqaaGhoSLRkERGJI4hzCLj7MmBZj3ULu81vBi5JpI/uVxpFIpFjtBYRkeOVEXcqQywQ1qxZE3IlIiLZKWMCoaysjNLSUp1YFhFJkowJBDPTlUYiIkmUMYEAHSeWFQgiIsmRUYFQXV1NY2MjO3bsCLsUEZGsk3GBAHqmkYhIMigQREQEyLBAiEQiFBUVKRBERJIgowIhJyeHyZMnKxBERJIgowIB9JA7EZFkychA2LhxI/v27Qu7FBGRrJJxgfDBD34QgNWrV4dciYhIdsm4QJg6dSoAK1euDLkSEZHsknGBUFFRQWlpqQJBRCRgGRcIZsbUqVMVCCIiAcu4QICOw0arV6+mtbU17FJERLJGxgZCc3Mzb731VtiliIhkjYwNBNCJZRGRIGVkIEyePJn8/HwFgohIgDIyEPLy8jj11FMVCCIiAQokEMzsMjNbZ2b1ZnbHUdrUmNlKM3vDzP4n0T47rzRy90Q/SkRECCAQzCwXWADMBKYAc8xsSo82w4EHgY+6+ynAJxPtd+rUqezYsYMtW7Yk+lEiIkIwewgfBurdfb27twBLgCt6tPkU8KS7bwBw9+2JdqoTyyIiwRoUwGeMBzZ2W24Azu7R5mQgz8zqgKHA9939sXgfZmZzgbkAZWVl1NXVxe20qakJgCeffJLCwsL+V58hmpqajjoWA4nGIUZjEaOxCEYQgWBx1vU8sD8I+BBwEVAA/MXMXnT3I24kcPdFwCKAqqoqr6mpOWrHlZWV7N27l97aZIu6uroB8Xsei8YhRmMRo7EIRhCB0ABEui1XAJvjtGl09/3AfjN7ATgdSOjOMj3CQkQkOEGcQ3gFmGRmlWaWD1wDPN2jzVPA+WY2yMwK6TiklPBfuZk6dSr19fVdh49ERKT/Eg4Ed28FvgA8R8dGfqm7v2FmN5vZzdE2a4HfAquAl4GH3f3vifY9depU3F1/G0FEJABBHDLC3ZcBy3qsW9hj+T+A/wiiv06dVxq99tprnHPOOUF+tIjIgJORdyp3ikQilJWV8fLLL4ddiohIxsvoQDAzpk+fzksvvRR2KSIiGS+jAwFg+vTpvPnmm+zevTvsUkREMlrGB8LZZ3fcA6fDRiIiicn4QDjrrLMwM1588cWwSxERyWgZHwglJSWccsopCgQRkQRlfCAAXSeW9ShsEZH+y5pA2L17N2+//XbYpYiIZKysCQRAh41ERBKQFYFQXV1NSUmJAkFEJAFZEQg5OTmcddZZCgQRkQRkRSBAx2GjVatWsX///rBLERHJSFkVCG1tbbz66qthlyIikpGyJhA671jWc41ERPonawKhrKyMiRMn6jyCiEg/ZU0gAJxzzjn86U9/0g1qIiL9kFWBcMEFF7Bt2zbefPPNsEsREck4WRUItbW1ADz//PMhVyIiknmyKhBOPPFEIpEIv//978MuRUQk42RVIJgZF154IXV1dbS3t4ddjohIRgkkEMzsMjNbZ2b1ZnZHL+3OMrM2M/tEEP3GU1tby86dO/n73/+erC5ERLJSwoFgZrnAAmAmMAWYY2ZTjtLu34HnEu2zNzqPICLSP0HsIXwYqHf39e7eAiwBrojT7ovAE8D2APo8qgkTJnDiiScqEEREjtOgAD5jPLCx23IDcHb3BmY2HvgYcCFwVm8fZmZzgbnQcbNZXV3dcRc0efJkVqxYwYoVK8jNzT3u96ejpqamfo1FttE4xGgsYjQWwQgiECzOup53ht0P3O7ubWbxmnd7o/siYBFAVVWV19TUHHdBmzZtYtmyZYwYMYIzzjjjuN+fjurq6ujPWGQbjUOMxiJGYxGMIA4ZNQCRbssVwOYebc4ElpjZu8AngAfN7MoA+o5L5xFERI5fEIHwCjDJzCrNLB+4Bni6ewN3r3T3E9z9BOBx4BZ3/68A+o6rvLycqqoq3Y8gInIcEg4Ed28FvkDH1UNrgaXu/oaZ3WxmNyf6+f1VW1vLH/7wB1pbW8MqQUQkowRyH4K7L3P3k919orv/3+i6he6+ME7bG9z98SD67U1tbS379u3jlVdeSXZXIiJZIavuVO5uxowZ5OTksGzZsrBLERHJCFkbCKWlpXzkIx/hmWeeCbsUEZGMkLWBADB79mxWrlxJQ0ND2KWIiKS9rA8EgGeffTbkSkRE0l9WB0J1dTWVlZU6bCQi0gdZHQhmxuzZs1m+fDkHDhwIuxwRkbSW1YEAHYeNmpubddeyiMgxZH0gXHDBBRQVFemwkYjIMWR9IAwePJhLLrmEZ555Bveez9wTEZFOWR8I0HHYqKGhgVWrVoVdiohI2hoQgTBr1iwAfvOb34RciYhI+hoQgTB27FimT5/O448n/RFKIiIZa0AEAsA111zD66+/ztq1a8MuRUQkLQ2YQLjqqqvIyclhyZIlYZciIpKWBkwgjBs3jpqaGn75y1/qaiMRkTgGTCAAzJkzh7fffpu//e1vYZciIpJ2BlQgfPzjHycvL0+HjURE4hhQgVBaWsqll17KkiVLaG9vD7scEZG0MqACAToOGzU0NPCnP/0p7FJERNLKgAuEj370oxQUFOiwkYhID4EEgpldZmbrzKzezO6I8/q/mNmq6PRnMzs9iH77o7i4mMsvv5ylS5fS0tISVhkiImkn4UAws1xgATATmALMMbMpPZq9A1zg7qcBdwOLEu03ETfccAONjY089dRTYZYhIpJWgthD+DBQ7+7r3b0FWAJc0b2Bu//Z3XdHF18EKgLot98uueQSPvCBD7Bw4cIwyxARSSuDAviM8cDGbssNwNm9tP8s8N9He9HM5gJzAcrKyqirqwugxCPNmDGDRx55hJ/97GdEIpGk9BGkpqampI1FJtE4xGgsYjQWwQgiECzOuri3AptZLR2BcN7RPszdFxE9pFRVVeU1NTUBlHikyZMns3jxYl5//XWuvfbapPQRpLq6OpI1FplE4xCjsYjRWAQjiENGDUD3r9gVwOaejczsNOBh4Ap33xlAvwkZO3YsH/vYx/jpT39Kc3Nz2OWIiIQuiEB4BZhkZpVmlg9cAzzdvYGZTQCeBK5197cC6DMQ8+bNY9euXXostogIAQSCu7cCXwCeA9YCS939DTO72cxujja7CxgJPGhmK83sr4n2G4Ta2lomTZqkk8siIgRzDgF3XwYs67FuYbf5zwGfC6KvIOXk5DBv3jxuu+02Vq9ezQc/+MGwSxIRCc2Au1O5pxtuuIGCggK++93vhl2KiEioBnwgjBw5kptuuomf//zn/POf/wy7HBGR0Az4QAC47bbbAPjOd74TciUiIuFRIACRSIRrr72Whx9+mO3bt4ddjohIKBQIUbfffjuHDh3i/vvvD7sUEZFQKBCiqqqq+MQnPsGCBQt47733wi5HRCTlFAjdfP3rX2fv3r0sWLAg7FJERFJOgdDNtGnTmDlzJt/5znfYtWtX2OWIiKSUAqGH++67jz179nDPPfeEXYqISEopEHo47bTT+MxnPsMDDzxAfX192OWIiKSMAiGOu+++m/z8fO6444i/BioikrUUCHGMGzeOr33tazzxxBP88Y9/DLscEZGUUCAcxfz58ykvL2f+/Pm0t7eHXY6ISNIpEI6iqKiIe++9l5dffpmHHnoo7HJERJJOgdCL6667josuuoivfvWrbNiwIexyRESSSoHQCzPjoYceoq2tjXnz5uEe909Fi4hkBQXCMVRWVnLffffx29/+lsWLF4ddjohI0igQ+uDWW2/lvPPO4ytf+QqbN28OuxwRkaRQIPRBTk4OjzzyCM3NzVx33XW0tbWFXZKISOAUCH108skns2DBAlasWMFdd90VdjkiIoELJBDM7DIzW2dm9WZ2xO291uEH0ddXmdkZQfSbap/5zGf47Gc/y7333svTTz8ddjkiIoFKOBDMLBdYAMwEpgBzzGxKj2YzgUnRaS7wo0T7DcsDDzzAGWecwXXXXadnHYlIVrFEL6U0s3OA/+Pul0aXvw7g7t/u1ubHQJ27/zK6vA6ocfctvX32sIpJftmdjyVUXzI0Nzfz6quvMnjwYKZOncqgQYOS3ueePXsYPnx40vtJdxqHGI1FjMYiZunN577q7mf2571BbMnGAxu7LTcAZ/ehzXjgiEAws7l07EVQOOYE9uzZE0CJwZswYQLvvPMOK1euZOLEEzFL7umYtra2tB2LVNI4xGgsYjQWwQgiECzOup67HX1p07HSfRGwCKCqqsqfu31mYtUl0a9+9SvmzJnDKbNn88QTT5CXl5e0vurq6qipqUna52cKjUOMxiImm8fC3WltbeX999+npaWF999//6jzra2t/L8E+goiEBqASLflCqDnxfp9aZNxrr76anbt2sUtt9zC5z73OX7605+Sk6MLt0QyUXt7O4cOHaK5ufmwqee6Q4cOHXVqaWmJu9zS0nLYFG9d96nnBj9VggiEV4BJZlYJbAKuAT7Vo83TwBfMbAkdh5PeO9b5g0zx+c9/nsbGxq5LUR9++OGk7imIDBTuzqFDhzhw4AD79+/nwIEDR51ef/11XnrpJQ4ePMiBAwc4ePBg3Kn7hr3ncktLSyB15+XlkZ+fz+DBg+P+zMvLY/DgwRQVFVFaWtq13Plafn7+YfN5eXldU/flnq91TjNn9v+oSsKB4O6tZvYF4DkgF/iJu79hZjdHX18ILANmAfXAAeDGRPtNJ9/85jcBuOuuu2hsbGTp0qUUFRWFXJVI6rS1tdHU1MS+ffsOmzrXNTU1dU379u1j//79NDU1HfYz3tSfR88PHjyYgoICCgsLKSgo6JqGDBnCsGHDGDt2LEOGDGHIkCFdr3W+p3P94MGDj5gfPHjwEfM9p/z8/Iw+ShDI5THuvoyOjX73dQu7zTtwaxB9pSMz484772T06NHccsstzJgxg2effZbS0tKwSxPplbtz4MAB9uzZw549e3jvvfeOmPbu3XvEz3379rF3796u+f379/e5z8LCQoqLiykuLqaoqKhrfsyYMRQVFXVNhYWFh813LnfOd04FBQW89tprXHzxxQwZMiSjN8hhS/71kgPIvHnzKCsrY86cOZx11lk8/vjjTJs2LeyyJMt1btR37tzJrl272LVrF7t37+76GW/qDIA9e/bQ2tra6+fn5uZSUlLCsGHDGDp0KMOGDWP06NFMnDiRkpISSkpKGDp0aNypuLiYoUOHUlRU1PUzGRvs9evXU1hYGPjnDjQKhIB9/OMf5/nnn+eqq67inHPO4Qc/+AE33XQTZvEutBI5nLuzb98+duzYQWNjY9xp586d7Ny5kw0bNnDo0CF27tzZ6/HvvLw8RowY0TWNGjWKSZMmMXz4cEaMGMHw4cMZNmxY18+eU2Fhof79DhAKhCQ499xzee211/j0pz/NvHnzeOGFF/jhD3/IiBEjwi5NQtDc3My2bdu6pu3bt7N9+3Z27Nhx2HzndLSN+6BBgxg1ahQjR45k5MiRRCIRqqqqKC0tZeTIkZSWlh42dQZAUVGRNujSJwqEJCkrK2PZsmXce++9fOtb32L58uXcf//9XH311frPmQXa2trYsWMHW7ZsYcuWLWzduvWIadu2bWzdupW9e/fG/Yzi4mLKysoYPXo0FRUVTJs2jbKysq5p1KhRXT9HjhxJSUnJYf92svnaewmHAiGJcnNzufPOO7n88su56aabmDNnDosXL+b73/8+J598ctjlSRzt7e3s3LmTTZs2sWnTJjZv3tw1bdmypWt+27Ztca+AGT58OGPHjmXMmDFMnTqVMWPGHDGNHj2a0aNH65i3pB0FQgpMnTqVF198kQULFvCNb3yDKVOmcP3113PXXXfxgQ98IOzyBozW1la2bNnCxo0baWhoYNOmTUf83Lx5c9xDNmVlZZSXlzNu3DhOP/30rvlx48YxduxYxo0bx5gxYygoKAjhNxMJhgIhRXJzc/nSl77ENddcw7e//W1+9KMf8bOf/Ywbb7yRL37xi5x66qlhl5jR2tra2Lp1Kxs3bjxiamhoYOPGjWzduvWIb/UFBQVUVFQwfvx4zjvvPMrLyxk/fnzXVF5eztixY8nPzw/pNxNJHQVCio0ePZrvfe97zJ8/n3vuuYdHH32URYsWUVNTw6233srll1/O4MGDwy4zrbg7e/bsYcOGDfzlL39hzZo1bNiwgY0bN3b93LRp0xGXTxYWFhKJRIhEIlx66aVUVFQQiUS6AiASiTB8+HCd0xGJUiCEpKKigoULF3LPPffwk5/8hAcffJBPfvKTlJSUcOWVV3LVVVcxY8aMAREOBw4cOOJbfc8Nfs8bn/Ly8ro29ueffz4TJkzoWu6ctLEXOT4KhJCNGjWKr33ta8yfP5/ly5fzq1/9il//+tc89thjFBQUcP755zNjxgxKSko499xzM+rQhbuzd+/erhO0ncfqO6fOwzm7du064r1jx44lEolwyimncNlllxGJRJgwYQI7duzgyiuvZMyYMbojVSRgCf+BnGSqqqrydevWhV1GyrW0tLB8+XKee+45li9fzpo1awDIz8/n9NNP58wzz2TKlClUVVVRVVVFRUVFSjeOBw4coLGxkR07dhx2fX3n5Zadl2Ju3rw57iMNOq+h7zx80/Ob/fjx44+6Z6RLLWM0FjEaixgzC/UP5EjA8vPzmTVrFrNmzQJg8+bN/PjHP+bgwYP89a9/5Re/+MVh17bn5eUxbty4rpOg3e9KLSoqOuwBXmbWFR5tbW1dz1Bvbm7uekpk5wPIOp9V0/0xCI2NjRw8eDBu3cXFxV1X3kybNo3Zs2dTXl5OeXk5FRUVVFRUUF5ezpAhQ5I/iCJy3BQIGaC8vJza2tqub0DuztatW1m3bh3r1q3j3Xff7Toks2bNmq7n1Rw6dKhf/eXk5Bz27JoRI0ZQWVnJGWecQWlp6WE3TY0ePbrr+no94VUksykQMpCZdX0T7203+eDBg+zfv7/rWfAtLS24O+5Oe3t71/PTBw0a1PUo4MLCQvLz83UyVmQAUiBksc5DRSIifaHLNEREBFAgiIhIlAJBREQABYKIiEQpEEREBEgwEMys1Mx+Z2ZvR38e8SfBzCxiZs+b2Voze8PMvpxInyIikhyJ7iHcAaxw90nAiuhyT63AfHevBqYDt5rZlAT7FRGRgCUaCFcAi6Pzi4ErezZw9y3u/rfo/D5gLTA+wX5FRCRgCT3czsz2uPvwbsu73f2of0nezE4AXgBOdfe4f2jWzOYCcwHKyso+tHTp0n7Xl02ampooLi4Ou4zQaRxiNBYxGouY2tra5D3czsyWA2PjvPSN4+nIzIqBJ4B/PVoYALj7ImARdDztVE8w7KCnOXbQOMRoLGI0FsE4ZiC4+4yjvWZm28xsnLtvMbNxwPajtMujIwx+4e5P9rtaERFJmkTPITwNXB+dvx54qmcD63hK2iPAWnf/boL9iYhIkiQaCPcBF5vZ28DF0WXMrNzMlkXbfAS4FrjQzFZGp1kJ9isiIgFL6Gmn7r4TuCjO+s3ArOj8HwE9S1lEJM3pTmUREQEUCCIiEqVAEBERQIEgIiJRCgQREQEUCCIiEqVAEBERQIEgIiJRCgQREQEUCCIiEqVAEBERQIEgIiJRCgQREQEUCCIiEqVAEBERQIEgIiJRCgQREQEUCCIiEqVAEBERQIEgIiJRCQWCmZWa2e/M7O3ozxG9tM01s9fM7JlE+hQRkeRIdA/hDmCFu08CVkSXj+bLwNoE+xMRkSRJNBCuABZH5xcDV8ZrZGYVwP8CHk6wPxERSRJz9/6/2WyPuw/vtrzb3Y84bGRmjwPfBoYCt7n77F4+cy4wF6CsrOxDS5cu7Xd92aSpqYni4uKwywidxiFGYxGjsYipra191d3P7M97Bx2rgZktB8bGeekbfenAzGYD2939VTOrOVZ7d18ELAKoqqrymppjvmVAqKurQ2OhcehOYxGjsQjGMQPB3Wcc7TUz22Zm49x9i5mNA7bHafYR4KNmNgsYApSY2c/d/dP9rlpERAKX6DmEp4Hro/PXA0/1bODuX3f3Cnc/AbgG+L3CQEQk/SQaCPcBF5vZ28DF0WXMrNzMliVanIiIpM4xDxn1xt13AhfFWb8ZmBVnfR1Ql0ifIiKSHLpTWUREAAWCiIhEKRBERARQIIiISJQCQUREAAWCiIhEKRBERARQIIiISJQCQUREgAQff51sZrYPWBd2HWliFNAYdhFpQOMQo7GI0VjEVLn70P68MaFHV6TAuv4+1zvbmNlfNRYah+40FjEaixgz+2t/36tDRiIiAigQREQkKt0DYVHYBaQRjUUHjUOMxiJGYxHT77FI65PKIiKSOum+hyAiIimiQBARESANAsHMfmJm283s70d53czsB2ZWb2arzOyMVNeYKn0Yi3+JjsEqM/uzmZ2e6hpT5Vhj0a3dWWbWZmafSFVtqdaXsTCzGjNbaWZvmNn/pLK+VOrD/5FhZvYbM3s9OhY3prrGVDCziJk9b2Zro7/nl+O0Oe5tZ+iBADwKXNbL6zOBSdFpLvCjFNQUlkfpfSzeAS5w99OAu8nuE2mP0vtYYGa5wL8Dz6WioBA9Si9jYWbDgQeBj7r7KcAnU1RXGB6l938XtwJr3P10oAb4TzPLT0FdqdYKzHf3amA6cKuZTenR5ri3naEHgru/AOzqpckVwGPe4UVguJmNS011qXWssXD3P7v77ujii0BFSgoLQR/+XQB8EXgC2J78isLTh7H4FPCku2+Its/a8ejDWDgw1MwMKI62bU1Fbank7lvc/W/R+X3AWmB8j2bHve0MPRD6YDywsdtyA0f+4gPRZ4H/DruIsJjZeOBjwMKwa0kDJwMjzKzOzF41s+vCLihEDwDVwGZgNfBld28Pt6TkMrMTgGnASz1eOu5tZ7o/ugLA4qwb0NfKmlktHYFwXti1hOh+4HZ3b+v4MjigDQI+BFwEFAB/MbMX3f2tcMsKxaXASuBCYCLwOzP7g7vvDbes5DCzYjr2kv81zu943NvOTAiEBiDSbbmCjvQfkMzsNOBhYKa77wy7nhCdCSyJhsEoYJaZtbr7f4VbVigagEZ33w/sN7MXgNOBgRgINwL3eccNVvVm9g4wGXg53LKCZ2Z5dITBL9z9yThNjnvbmQmHjJ4GroueMZ8OvOfuW8IuKgxmNgF4Erh2gH776+Lule5+grufADwO3DJAwwDgKeB8MxtkZoXA2XQcUx6INtCxp4SZjQGqgPWhVpQE0XMkjwBr3f27R2l23NvO0PcQzOyXdFwNMMrMGoB/A/IA3H0hsAyYBdQDB+j4BpCV+jAWdwEjgQej34xbs/UJj30YiwHjWGPh7mvN7LfAKqAdeNjde71cN1P14d/F3cCjZraajkMmt7t7Nj4W+yPAtcBqM1sZXfe/gQnQ/22nHl0hIiJAZhwyEhGRFFAgiIgIoEAQEZEoBYKIiAAKBBERiVIgiI84WgoAAAAOSURBVIgIoEAQEZGo/w8dPA/0FBr3UgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "x1=1.0\n", "x2=2.0\n", "x = np.linspace(x1, x2, 100)\n", "y = func(x)\n", "plt.plot(x, y, color = 'k')\n", "plt.plot([x1,x2],[0,0])\n", "plt.grid()\n", "plt.xlim(1,2)\n", "plt.ylim(-0.5,1)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " x1 x2 f1 f2\n", " +1.0000000000 +2.0000000000 +1.0000000000 -0.0151367188\n", " +1.0000000000 +1.5000000000 +1.0000000000 -0.0723768019\n", " +1.0000000000 +1.2500000000 +1.0000000000 -0.1247050465\n", " +1.0000000000 +1.1250000000 +1.0000000000 -0.0066392349\n", " +1.0625000000 +1.1250000000 +0.2711684081 -0.0066392349\n", " +1.0937500000 +1.1250000000 +0.0982535242 -0.0066392349\n", " +1.1093750000 +1.1250000000 +0.0391079154 -0.0066392349\n", " +1.1171875000 +1.1250000000 +0.0147428721 -0.0066392349\n", " +1.1210937500 +1.1250000000 +0.0036996769 -0.0066392349\n", " +1.1210937500 +1.1230468750 +0.0036996769 -0.0015553491\n", "[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0.12246204830937213, 0.37753795169062787, 0.12753795169062787, 0.002537951690627871, 0.05996204830937213, 0.02871204830937213, 0.013087048309372129, 0.005274548309372129, 0.001368298309372129, 0.000584826690627871]]\n" ] } ], "source": [ "x1, x2 = 1.0,2.0\n", "f1, f2 = func(x1), func(x2)\n", "print('%+15s %+15s %+15s %+15s' % ('x1','x2','f1','f2'))\n", "print('%+15.10f %+15.10f %+15.10f %+15.10f' % (x1,x2,f1,f2))\n", "\n", "list_bisec = [[0],[abs(x1-x0)]]\n", "for i in range(1, 10):\n", " x = (x1 + x2)/2\n", " f = func(x)\n", " if (f*f1>=0.0):\n", " x1, f1 = x, f\n", " list_bisec[0].append(i)\n", " list_bisec[1].append(abs(x1-x0))\n", " else:\n", " x2, f2 = x, f\n", " list_bisec[0].append(i)\n", " list_bisec[1].append(abs(x2-x0))\n", "\n", " print('%+15.10f %+15.10f %+15.10f %+15.10f' % (x1,x2,f1,f2))\n", "\n", "\n", "print(list_bisec)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0000000000 +1.0000000000000000000000000\n", "1.0555555556 +0.3223796640308458361090516\n", "1.0970223960 +0.0846013312320794685916781\n", "1.1178429553 +0.0128389747089051597939147\n", "1.1222873605 +0.0004675783357422913510959\n", "1.1224617904 +0.0000006894048536487673573\n", "1.1224620483 +0.0000000000015049073098794\n", "1.1224620483 -0.0000000000000001110223025\n", "1.1224620483 -0.0000000000000001110223025\n", "1.1224620483 -0.0000000000000001110223025\n", "[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [0.12246204830937213, 0.06690649275381655, 0.025439652286961767, 0.004619092971890115, 0.0001746878229040849, 2.5794303071258184e-07, 5.622169396701793e-13, 8.881784197001252e-16, 8.881784197001252e-16, 8.881784197001252e-16]]\n" ] } ], "source": [ "x1 = 1.0\n", "f1 = func(x1)\n", "list_newton = [[0],[abs(x1-x0)]]\n", "print('%-15.10f %+24.25f' % (x1,f1))\n", "for i in range(1, 10):\n", " x1 = x1 - f1 / dfunc(x1)\n", " f1 =func(x1)\n", " print('%-15.10f %+24.25f' % (x1,f1))\n", " list_newton[0].append(i)\n", " list_newton[1].append(abs(x1-x0))\n", "\n", "print(list_newton)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAD6CAYAAABHy/uSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deXzU1b3/8dcnG2QhIStmJewQsLhEBFtbrRu4162i1mqt1CrtvbftbdXeX3tvW6v9tfZ328rVolLXQhG9lVoUvVqrvaISxIVddkKAJAQI2bfz++M7QIgJhmSS72Tm/Xw85jHMme3DKPOec873nK855xARkcgU5XcBIiLiH4WAiEgEUwiIiEQwhYCISARTCIiIRDCFgIhIBFMIiIhEsBi/CzgeGRkZrrCw0O8yREQGlBUrVlQ65zI7u8/XEDCzROC/gCbgdefc08d6fGFhISUlJf1Sm4hIuDCzbV3dF/ThIDObZ2blZraqQ/t0M1tvZhvN7M5A8xXAIufcrcClwa5FRESOrS/mBB4DprdvMLNoYA4wAygCZppZEZAH7Ag8rLUPahERkWMIegg4594Aqjo0TwE2Ouc2O+eagAXAZUApXhD0SS0iInJs/fXFm8uRX/zgffnnAs8BV5rZg8BfOnuimc0ysxIzK6moqOj7SkVEIkh/TQxbJ23OOVcL3HysJzrn5gJzAYqLi7XlqYhIEPVXT6AUyG93Ow8o66f3FhGRLvRXCCwHxpjZCDOLA64FFvfTe4uISBeCPhxkZvOBs4AMMysFfuyce9TMZgNLgWhgnnNudbDfO1S1tTm27K1l1c4D7Nxfz6jMJIqyk8lLjcess5EyEZH+EfQQcM7N7KJ9CbAk2O8Xalpa29hYUcOqndWs2nmA1WUHWFNWTW3TJ4+AHTI4hqLsZCbmpFCUk0xRdjKjs5KIi9GBUiLSPwbUthGhprGllQ27a1hVdoBVOw+wqqyadbuqaWxpAyA+NpqinGSuOjWPibkpTMpJIS8tnk3lNazZVc2asmrW7Kpm/rvbqW/2QiI22hiTNYSJOcmHg2FCTjLJg2P9/KuKSJiygXSO4eLiYufXthH1Ta2s2VXN6kNf+Dur2bDnIC1t3uc3ZFAME3OTmZSTwqTcFCblJjMiI4noqE8f7mltc2yprD0qGNaUHaCypunwY/LT4pmYfaTHUJSTTHbKYA0nicinMrMVzrniTu9TCHxSdUMza8oODed415sqagh835OWGMfEnGTvyz7H+8LPT00gqhtf+MejvLqB1UcFQzVb99Zy6D9ZakLsUaFQlJ3CqMxEYqI1nCQiRxwrBCJ+OGhfbVNgOKeaVWUHWL3zAFv31h2+f1jyICblpDDjxGwmBb74++sXeFbyYLKSB3P2uKzDbTWNLazffSQYVpdV8/iybTQFhqDiYqIYN+zo4aTx2ckkDYr4/9Qi0omI6gmUVzcc/sJfHbjeub/+8P15qfGHf9lPzE1hYk4yWUMGB6P0PtXS2sbmytqjegyryw6wr6758GMK0xOOmoCenD+UtMQ4H6sWkf4S8cNBG9d9SNqCi9jVlspul8YeN5SmhBOIS81l6LDhZOePZOTI0aSkDYMwGWN3zrG7usELhjKvx7BmVzXbq7xezuDYKO6cPp4bpxUGfRhLREJLxA8HZaUOYfXQL5Abs5/Ctr3EN6wiqu5vsAfv8mHggdGDYMgJkJwDQ7LbXWfDkBzvOukEiA393oGZkZ0ST3ZKPOdMGHa4vbqhmbVl1Tz49038+1/WsHT1Hn559WfIS03wsVoR8UtE9AQ61dIENbuhehccLAtcBy7t21rqP/nc+LTOA2JI9pHwSEgP6V6Fc44/Ld/BT19Yg5nxfy6ewDXF+TraSCQMRfxwUI85Bw374eBuqC77ZEAcCo2acqDD5xgd5/UqOgZESi5kjIOMMRAzqP/+Ll3YUVXHvy76gLc3V3H2uEzuu/IzDEsO/Z6OiHSfQqCvtTZDzZ4jAXFUaLQLj+baI8+xaEgbCVnjIXPCkev00RDTvxO2bW2Ox5dt5b4X1zE4NpqfXj6JSz6THRG9gl0H6nno9U1UN7SQnxpPXloCeanx5KcmkJ0yWIfbSlhQCIQC56DxIOzfDhXrvEv5Wu+6ajM47xBPLBrSR0HmeMiacOQ6fTRE9+2q4U0VNXzvmQ9YuX0/F52YzU8vnxS2RxBVNzTz0OubePQfW3AOMocMYteB+sNrQQCio4ycoYPJG5pAfpoXDPmHQiItgcykQZpUlwFBIRDqWhqh8uOjg6F8LezbciQcomK8IOgYDmkjgxoOLa1tzH1zM//vlQ2kxMfy8y+dyPkTTwja6/utqaWNp9/Zxm9f/Zh9dc186eRcvnv+WPJSE2hqaWPXgXpK99Wzo6qOHfvq2FFVT+m+Onbsq6fiYONRrxUXE0XeUK/3kB8IhkO9iPy0BFITYiOiNyWhTyEwUDXXdxEOWzk8BxEV680vHA6Hcd6wUtpIiO75wV/rdlfznT99wJpd1VxxSi4/vmQiKfEDd/8i5xxLPtrN/126jm176zhjVDp3XziBSbkp3X6NhuZWLyD21VFaVXf4zzuqvOv97dZlACTGRZOX6vUi8tr3IgJtQ7QflPQThUC4aaqDyg2fDIf92448JjoO0sd8cs4hbQRERXfvbVraeOC1j5nz+iayhgziF1d+hs+Pzeyjv1TfWb61inv+upb3d+xn3LAh3HnheM4amxn0X+kHG5oP9yLaB0TpPu92TWPLUY9PiY/9xDBTQVoCBWkJ5KUmaDdZCRqFQKRoqoWK9R3CYR0c2H7kMdGDIGMsZE+GMefBqC/C4ORjvuwHO/bznYXvs6milhumFnDXjAkkDoBtKDZV1PCLF9fx8po9DEsexHfPG8eVp+Z1a1O/YHPOsb+u2etFtBtuah8ah3afBYgyyE6JZ3h6AsPTEyhISwxce7fVi5DjoRCIdI01ULneC4SKtd71zhKo3+fNNQw/A8ZO9y7pozp9iYbmVu5/eT2P/GML+akJ/OrqyUwZkdbPf5HuqTjYyG9e3cD8d3cQHxvNbV8YyS2fG0l8XPd6QH5oa3NU1jSyvaqObXvr2FZVx/a9tYHrOvbWNh31+NSEWArSExmeltAuHLygyBoySHMRchSFgHxSawuULoePl8KGpVC+xmtPHw1jLoCxF0DBtE8crvruliq+98wH7NhXx9c/N4Lvnj+OwbGh8eVa19TCI29u4fd/30RjSxvXnV7At88ZQ0aS/+sxeutgQzPbA4GwvarucDhsq6pl576jj2oaHBtFfmqHHkR6AsM1zBSxQjYEzOxy4CIgC5jjnHv5WI9XCPShfdvg45dhw0uw5U1obYRByd5w0djp3tBRYgYAtY0t3PviWp56ezujs5K4/+rJTM4f6lvpLa1tLFpRyq9f2UD5wUamTzyB708fx8jMJN9q6k/NrW3s3Fd/pPcQ6EnsCPQqDp2wCI4eZipIOxQOR4JCJy8KT30SAmY2D7gYKHfOTWrXPh34Dd65hB9xzt3XjddKBX7lnLvlWI9TCPSTplrY/HcvEDYs9bbXwCCv2OshjJ0OwybxxseV/ODZDyk/2MgdZ41i9hfH9OuvTOccf1tfzn0vrmPDnhpOKRjKDy+awKnDQ3OYyg/OOSpqGr1ew3EMM43KTGRUZhKjMpMYnZXE8PQEYrVwbsDqqxD4PFADPHEoBMwsGtgAnAeUAsuBmXiBcG+Hl/iac6488Lz7gaedc+8d6z0VAj5wDnZ94IXBx0th5wqvPTkXxpxPbeG5/HR1Jgver6QoO5lff3ky40849kRzMHxYup+fL1nL25urGJGRyA+mj+OCiSdoLPw41TS2BIaYjvQgtu2tZVN5LburGw4/LibKGJ6e4AVDVhKjA9ejMhM1ST0A9NlwkJkVAi+0C4FpwL875y4I3L4LwDnXMQAOPd+A+4BXnHP/82nvpxAIAQf3wMZXvF7Cpr9BUw3EDKYi43QeKR/Li42f4drzzmDWmSP7ZMuFHVV1/HLpehZ/UEZ6Yhz/dO4YZk4p0K/UPlDT2MKm8ho2VXiXjeU1bKqoZWtl7eHTqoJ34qVDPYb2vYdhyZqgDhX9GQJXAdOdc18P3P4KcLpzbnYXz/828FW8HsP7zrmHOnnMLGAWQEFBwanbtm3r+BDxS0sjbHvL6yVseDGwiA3WthWwOmka02ZcR+7EM7u9LuFY9tc18cBrG3li2TaiouDrnxvJN74wUr9CfdDc2sb2qjo2ldewsaKGTeW1XlCU13Cw3VqIpEExR4aVsg6FQyIFaYmanO5n/RkCVwMXdAiBKc65b/X4TdpRTyCEOQeVH+M2vMTelX9haGUJMbTREJvKoAnnY2One5PM8cc3gdzQ3MoTy7bywGsbOdjYwtWn5vEv540lOyW+b/4e0mPOOSoONgaCwes1bAz0JHYdOHpoqSAwtHSk95DIqKwkTUz3kf48qUwpkN/udh5QFuT3kFBkBpljscyxZHz225SX7+HZZx5n2O6/c+6qF0n+8E/emoSCaUcml9NHd3nOhbY2x+IPyvjl0vXs3F/PWeMyuXPG+H6Zb5CeMbPD58U+Y1TGUffVNLawuf2wUqD38Pr6cppbj/wQzRpyZGhp7LAkThmeyvgTkn1Z4Bcpgt0TiMGbGD4H2Ik3zHOdc251rytFPYGBxjnHMyWl/OyFVZzoNvDDMduZcPAt7NCahLSRcOI1cMa3YNCRwznf2ljJz19cy6qd1UzMSebuCyfw2dEZXbyLDGTNrW3sqKo7qtdw6Ppggze0NGRQDCcPT+W04akUF6ZxUv7QkF74F4r66uig+cBZQAbeSRp/7Jx71MwuBP4T74igec65e3r0Bp1QCAxMpfvq+NdnPmTZ5r2cNS6TX56XSmbZ67D+Rdj0KiQNg3N+xPoTLuG+l9bzt/UV5A6N53sXjOWyybnarjkCOeco3VfPim37WL61ipKt+1i/5yDgDSdNyk3htEIvFIqHp5IeBgsC+1LILhY7XgqBgautzfHk29u498W1DIqJ5ieXTeTSyTlYaQlNS35A3K4VfNRWyP1RNzHt7Ev56hmFIbMSWULDgbpm3tt+JBTeL91PU2C/pZGZiZw2PI3iwlROK0xjeHqCjkxqRyEgIWNLZS3fXfg+723fz4xJJzAqM4lH/rGJGe5/+feEZ0hp2gMTLoXzfuLteCrShcaWVlbtPMDyrfso2VrF8q37OFDvbeedkTSI4uGph0OhKCc5og8jVghISGltczz85mZ+/fIGmlrbuGRyDt+/YBz5ScCyOfCPX0NbC5x+G3z+ezC4+3v+S+Rqa3Nsqqg5EgrbqthRVQ9AfGw0JxcMpbgwjdMKUzm5IJWkAbATbrAoBCQkba6ooaG5jaKcDkf8VO+C134K7z8NCRnwxR/CKV8NynoDiSy7DzRQss0bPlq+tYq1u6ppc94eSkU5yRQPT+O0Qm8YaVjyYL/L7TMKARmYylbCS3fD9rcgayJccA+MOtvvqmQAO9jQzMrt+w8PH63csY+GZm9eoSAt4fDw0WmFqYzMSAqbgxIUAjJwOQdrnodXfuSdOW3sDDj/Z5Ax2u/KJAw0t7axuqw6EApej+HQpnpDE2IpHp7K5LyhjMxMYkRGIoUZCSTEDbxhJIWADHzNDfDOg/DG/dBSD1NmwRe+D/GpflcmYcQ5x9a9dYFA8HoLWyprj3rMCcmDGZGRyIjMREZmJFKY7v05P4TP1aAQkPBRUw6v/QxWPulNGJ91NxTfDNHabkD6Rm1jC1v31rK1so4tlTVsrqxlS+Cyv6758OOio4z81HgKMxIZkeEFxIiMJAozEshJifd1aEkhIOFn90ew9G7Y8oZ3zuQLfu6d+EakH+2rbWLL3lq2VASCod2f25/MZ1BMlNdjCPQgRgR6DyMyEklPjOvzNQ0KAQlPznmrjl/+N6jaBKPO8SaPsyb4XZlEOOcce6obD/cYtlTWHP7z9qq6o/ZLGjI4xguHDpfCjMSgbainEJDw1tIEyx+G13/hnd+g+GZvmCgx3e/KRD6hpbWNnfvr2VzpnZvhUDhsrqil7EA97b+SM5IGefMOGQlMGZHOVafm9eg9FQISGWr3wuv3Qsk8iEvyJo6nzIKYOL8rE+mWhuZWtlfVsbniSA9ia2UdmytrOX1kGnOuO6VHr6sQkMhSvg5e/iFs/B9vp9LzfwbjLuxy22qRgaClta3HZ+s7VgiE5vFMIr2RNR5ueBauXwRRsbDgOnj8Em8yWWSA6ovTtYJCQMLZmPPgm/8LF/4K9qyCh86Exd/yDjMVEUAhIOEuOham3ArfXglTb4f3/wi/PQXe/LW3AE0kwikEJDLEp8L0n8Pt78CIM+HV/4A5p8Hq/4YBNC8mEmwKAYksGaNh5ny48XmIGwLP3AR/mOFNJotEIN9DwMwSzWyFmV3sdy0SQUaeBbe9CZf8Bio3eBPH+7b5XZVIv+txCJjZPDMrN7NVHdqnm9l6M9toZnd246V+ACzsaR0iPRYVDafeBDctgdZGeOpKqKvyuyqRftWbnsBjwPT2DWYWDcwBZgBFwEwzKzKzE83shQ6XLDM7F1iDd6J6EX9kjYeZC7ytqufPhOZ6vysS6Tc93hjbOfeGmRV2aJ4CbHTObQYwswXAZc65e4FPDPeY2dlAIl5g1JvZEudcW09rEumx4WfAFXO9OYLnboWrH9eZzCQiBPvsCLnAjna3S4HTu3qwc+6HAGZ2E1DZWQCY2SxgFkBBQUEwaxU52sQvQXWZtzvp0rth+n1aZSxhL9gh0Nm/mE89/s4599gx7psLzAVv24geVybSHdPugAM74e05kJIHZ3zL74pE+lSwQ6AUyG93Ow8oC/J7iPSt838G1Tu9LaqHZMOJV/ldkUifCfYhosuBMWY2wszigGuBxUF+D5G+FRUFX/o9FJwBf/4mbP2H3xWJ9JneHCI6H1gGjDOzUjO7xTnXAswGlgJrgYXOudXBKVWkH8UOhmufhtQR3gZ05Wv9rkikT2graZFj2b8dHjnX2430669Aco7fFYkcN20lLdJTQwu8Lakb9sPTV0NDtd8ViQSVQkDk02R/Bq55AirWwZ9u8E5nKRImFAIi3TH6HLj0d7Dl77B4tnYelbAR7ENERcLXSdd5h46+9jNvDcE5P/K7IpFeUwiIHI8zvwcHSuHN+yE5F067xe+KRHpFISByPMzgwvvh4G5Y8j1vMdn4C/2uSqTHNCcgcryiY+CqeZB9Eiz6GpTqsGUZuBQCIj0RlwjXLYQhw+CP18DeTX5XJNIjCgGRnkrKhBue8/781JVQU+FvPSI9oBAQ6Y30UV6P4OBur0fQVOt3RSLHRSEg0lt5xd4cwa73vTmC1ha/KxLpNoWASDCMvxAu/CVseAmWfFeLyWTA0CGiIsFy2te9E9L849eQkg+f/57fFYl8KoWASDCd86PAquKfeovJTprpd0Uix6QQEAkmM7j0AW+iePFs7xDSUV/0uyqRLmlOQCTYYuLgy09C5nj4042w60O/KxLpkkJApC8MToHrn4HByd55CPZv97sikU75GgJmFmVm95jZ78zsq37WIhJ0yTlww7PQXA9PXQX1+/yuSOQTenOO4XlmVm5mqzq0Tzez9Wa20czu/JSXuQzIBZqB0p7WIhKysiZ45yretwUWXA/NDX5XJHKU3vQEHgOmt28ws2hgDjADKAJmmlmRmZ1oZi90uGQB44BlzrnvAN/sRS0ioWvEmXD5g7Dtf+HPt0Fbm98ViRzW46ODnHNvmFlhh+YpwEbn3GYAM1sAXOacuxe4uONrmFkpcOhcfa09rUUk5J14FVSXwSv/xzt09IJ7/K5IBAj+IaK5wI52t0uB04/x+OeA35nZmcAbnT3AzGYBswAKCgqCVKaID874lreGYNkDXhBMu93vikSCHgLWSVuX6+edc3XAMU/N5JybC8wFKC4u1lp8GbjM4IKfe0Gw9G5v4nji5X5XJREu2EcHlQL57W7nAWVBfg+RgSsqGq54GPJPh+dmwba3/K5IIlywQ2A5MMbMRphZHHAtsDjI7yEysMXGw8z5MLQA5s+EivV+VyQRrDeHiM4HlgHjzKzUzG5xzrUAs4GlwFpgoXNudXBKFQkjCWlwwyKIjvPWEBzc7XdFEqHMDaAtb4uLi11Jic7nKmGkbCX84SJIHwk3vwiDhvhdkYQhM1vhnCvu7D5tGyHip5yT4ZonYM8aWHgjtDb7XZFEGIWAiN/GnAuX/hY2vQbL5vhdjUQYhYBIKDj5Bhh5Frzze/UGpF8pBERCxdQ74GAZrP6z35VIBFEIiISK0edC+hh4e47OUSz9RiEgEiqiomDqN70jhra/7Xc1EiEUAiKhZPJMiE/19hcS6QcKAZFQEpcAp94M6/4KVVv8rkYigEJAJNRMmQVRMd6RQiJ9TCEgEmqSs2HSFbDySWg44Hc1EuYUAiKhaOrt0FQD7z3pdyUS5hQCIqEo5yQY/tnA4rEWv6uRMKYQEAlVU2+HA9th3V/8rkTCmEJAJFSNmwGphbDsv/yuRMKYQkAkVEVFe72B0nehVFuoS99QCIiEspOuh0Ep2l1U+oxCQCSUDUqCU2+ENc/D/h1+VyNhyNcQMLMCM1tsZvPM7E4/axEJWVO+4V2/O9ffOiQs9eYcw/PMrNzMVnVon25m681sYze+2McCf3XOfQ0o6mktImFtaD4UXQorHofGGr+rkTDTm57AY8D09g1mFg3MAWbgfanPNLMiMzvRzF7ocMkCVgLXmtlrwN96UYtIeJt6BzQegPef9rsSCTM9DgHn3BtAVYfmKcBG59xm51wTsAC4zDn3kXPu4g6XcuBm4MfOuS8CF/W0FpGwl38a5J0Gbz8Iba1+VyNhJNhzArlA+9mr0kBbV14Cvm1mDwFbO3uAmc0ysxIzK6moqAhaoSIDzrQ7YN8W2PCS35VIGIkJ8utZJ21dniLJObcKuOpYL+icmwvMBSguLtbpliRyjb8EUgq8xWPj1XGW4Ah2T6AUyG93Ow8oC/J7iESm6Bg4fRZs+weUve93NRImgh0Cy4ExZjbCzOKAa4HFQX4Pkch1yo0QlwRvaysJCY7eHCI6H1gGjDOzUjO7xTnXAswGlgJrgYXOudXBKVVEGJwCJ98Aq56F6l1+VyNhoDdHB810zmU752Kdc3nOuUcD7Uucc2Odc6Occ/cEr1QRAeD0b3hHCC1/2O9KJAxo2wiRgSZtpDcxXDIPmur8rkYGOIWAyEA07Q6o3wcfLvC7EhngFAIiA1HBNMg+KbB4rM3vamQAUwiIDERmXm+gcgNsetXvamQAUwiIDFRFl8OQbFj2gN+VyACmEBAZqGLiYMqtsPl12KMjsaVnFAIiA9mpN0NMvBaPSY8pBEQGsoQ0OOk6+PAZqNEGi3L8FAIiA93Ub0JrI5Q86nclMgApBEQGuowxMOYCWP4INDf4XY0MMAoBkXAw7XaorYCPnvG7EhlgFAIi4WDEF2DYJG/xmNNpN6T7FAIi4cDMmxsoX+0dMirSTQoBkXBx4tWQmKXDReW4KAREwkXMIDjt6/Dxy1Cxwe9qZIBQCIiEk+KvQfQgeOdBvyuRAUIhIBJOkjLhM9fA+/OhrsrvamQA6LcQMLORZvaomS1q15ZoZo+b2cNmdn1/1SIS1qbeDi313klnRD5Ft0LAzOaZWbmZrerQPt3M1pvZRjO781iv4Zzb7Jy7pUPzFcAi59ytwKXHVbmIdG5YEYw8G959GFqa/K5GQlx3ewKPAdPbN5hZNDAHmAEUATPNrMjMTjSzFzpcsrp43TxgR+DPrcdfvoh0atpsqNkNq//b70okxHUrBJxzbwAdBxinABsDv/CbgAXAZc65j5xzF3e4lHfx0qV4QdDtWkSkG0afAxnj4O05Wjwmx9SbL95cjvyKB+8LPberB5tZupk9BJxsZncFmp8DrjSzB4G/dPG8WWZWYmYlFRXaJVGkWw4tHtv1AWx7y+9qJITF9OK51klblz85nHN7gds6tNUCNx/rTZxzc4G5AMXFxfpJI9Jdk6+FV38Cy+ZA4Wf9rkZCVG96AqVAfrvbeUBZ78oRkaCJjffWDaxfAns3+V2NhKjehMByYIyZjTCzOOBaYHFwyhKRoJhyK0TFwDu/97sSCVHdPUR0PrAMGGdmpWZ2i3OuBZgNLAXWAgudczrRqUgoGXICTLoSVj4F9fv9rkZCULfmBJxzM7toXwIsCWpFIhJc026HDxfAe0/AZ7/tdzUSYnRYpki4y54MhWd6Q0KtLX5XIyFGISASCabeDtWlsPZ5vyuREKMQEIkEY6dD2khYpnMNyNEUAiKRICoKTv8m7CyBHe/6XY2EEIWASKQ46ToYnOItHhMJUAiIRIpBSXDqTbB2Mezf7nc1EiIUAiKRZMoswLR4TA5TCIhEkpQ8mHi5t2ag8aDf1UgIUAiIRJqpd0BjtbeKWCKeQkAk0uSdCvmnw9sPQpvO5RTpFAIikWjq7bB/m7fDqEQ0hYBIJBp/MQwt0OIxUQiIRKToGDj9Ntj+FpSt9Lsa8ZFCQCRSnfwViBui3kCEUwiIRKrByXDKV2D1c1CtkwJGKoWASCQ7/Rvg2uDduX5XIj5RCIhEstRCGH8RlPwBmmr9rkZ80K8hYGYjzexRM1vUru1yM3vYzJ43s/P7sx4RwVs81rAfPpjvdyXig26HgJnNM7NyM1vVoX26ma03s41mduexXsM5t9k5d0uHtj87524FbgK+fBy1i0gwFEyFnFMCi8fa/K5G+tnx9AQeA6a3bzCzaGAOMAMoAmaaWZGZnWhmL3S4ZH3K6/9b4LVEpD+ZwbQ7YO9G2PiK39VIP+t2CDjn3gCqOjRPATYGfuE3AQuAy5xzHznnLu5wKe/sdc3zC+BF59x7Pf2LiEgvFF0Gybmw7AG/K5F+1ts5gVxgR7vbpYG2TplZupk9BJxsZncFmr8FnAtcZWa3dfKcWWZWYmYlFRUVvSxXRDoVHQtTboUtb8Duj/yuRvpRb0PAOmlzXT3YObfXOXebc26Uc+7eQNtvnXOnBtof6uQ5c51zxc654szMzF6WKyJdOvUmiE3w5gYkYvQ2BEqB/Ha38wCtOhEZiOJTvVNQfvSMzjwWQXobAsuBMWY2wszigGuBxb0vS0R8MYp+vBIAAAgASURBVG02xAyGp6+B+n1+VyP94HgOEZ0PLAPGmVmpmd3inGsBZgNLgbXAQufc6r4pVUT6XNoI+PJT3pFCC66H5ga/K5I+Zs51OYQfcoqLi11JSYnfZYiEv48WwbO3eEcNXfUHiIr2uyLpBTNb4Zwr7uw+bRshIp904lVw/j2w5nl46S4YQD8W5fjE+F2AiISoM2bDwV3e2oHkHPjcP/tdkfQBhYCIdO28n3pB8D8/hiEnwORr/a5IgkwhICJdi4qCyx+EmnJ4/g5IzITR5/hdlQSR5gRE5NhiBsG1T0PmeFh4I5S973dFEkQKARH5dINT4PpF3oKyp6+Gqi1+VyRBohAQke5JzoYbnoXWJnjqSqit9LsiCQKFgIh0X+Y4uO5PUL0T/niNzkYWBhQCInJ8CqbClY9C2UpY9DVobfG7IukFhYCIHL8JF8OFv4INL8EL/6zFZAOYDhEVkZ457RZvDcEbv/ROSHP2XZ/+HAk5CgER6bmzfwjVu+Dv93mLyYpv9rsiOU4KARHpOTO45D+hZg/89TuQNAzGX+h3VXIcNCcgIr0THQvXPA7ZJ3kTxTve9bsiOQ4KARHpvbhEuG6ht5bgj1+Gyo/9rki6SSEgIsGRlOktJouKhievgIO7/a5IukEhICLBkzbS6xHU7YWnroKGar8rkk/RbyFgZiPN7FEzW9ShPdHMVpjZxf1Vi4j0odxT4JonoGIt/OkGaGnyuyI5hm6FgJnNM7NyM1vVoX26ma03s41mduexXsM5t9k5d0snd/0AWNj9kkUk5I05Fy79HWz5Ozx/O7S1+V2RdKG7h4g+BjwAPHGowcyigTnAeUApsNzMFgPRwL0dnv8151x5xxc1s3OBNcDg465cRELbSdd5i8le/Ym3huD8n/ldkXSiWyHgnHvDzAo7NE8BNjrnNgOY2QLgMufcvUB3h3bOBhKBIqDezJY45/STQSRcfO473mKyt34HQ3Jg2u1+VyQd9GaxWC6wo93tUuD0rh5sZunAPcDJZnaXc+5e59wPA/fdBFR2FgBmNguYBVBQUNCLckWk35nBjF9AzW5YerfXI5h0hd9VSTu9CQHrpK3LXaScc3uB27q477FjPG8uMBeguLhYu1SJDDRR0XDFw/Dkl+C/vwGJGTDi835XJQG9OTqoFMhvdzsPKOtdOSISlmLjYeZ87xDSBdfDntV+VyQBvQmB5cAYMxthZnHAtcDi4JQlImEnPtU7RWVckndmsv07Pv050ue6e4jofGAZMM7MSs3sFudcCzAbWAqsBRY65xTvItK1oflwwyJoqvOCoK7K74oinrkBdDKI4uJiV1JS4ncZItJbW96Ep66AnFPgxj97w0XSZ8xshXOuuLP7tG2EiPS/EWfCl34PO96BZ78Oba1+VxSxFAIi4o9JV8D0e2HdC/Di93WKSp/opDIi4p+p34TqMnjrt5CcA2d+1++KIo5CQET8de5/eNtOv/oTGJLtbTch/UYhICL+ioqCy+ZAbTk8PxsSs7wN6KRfaE5ARPwXEwfXPAnDimDhjbDzPb8rihgKAREJDYOT4fpnITEd/ngNVG32u6KIoOEgEQkdQ4bBDc/Bo+fD3LO9DefEU/g5uOj+oL+sQkBEQkvGGPjKc/DWA9DW7Hc1oSMlr09eViEgIqEn52S46lG/q4gImhMQEYlgCgERkQimEBARiWAKARGRCKYQEBGJYAoBEZEIphAQEYlgCgERkQg2oE4vaWYVwLZevEQGUBmkcgY6fRZH0+dxhD6Lo4XD5zHcOZfZ2R0DKgR6y8xKujrPZqTRZ3E0fR5H6LM4Wrh/HhoOEhGJYAoBEZEIFmkhMNfvAkKIPouj6fM4Qp/F0cL684ioOQERETlapPUERESknYgIATObbmbrzWyjmd3pdz1+MrN8M/ubma01s9Vm9k9+1+Q3M4s2s5Vm9oLftfjNzIaa2SIzWxf4f2Sa3zX5ycz+JfDvZJWZzTezwX7XFGxhHwJmFg3MAWYARcBMMyvytypftQDfdc5NAKYCd0T45wHwT8Bav4sIEb8BXnLOjQcmE8Gfi5nlAt8Gip1zk4Bo4Fp/qwq+sA8BYAqw0Tm32TnXBCwALvO5Jt8453Y5594L/Pkg3j/yXH+r8o+Z5QEXAY/4XYvfzCwZ+DzwKIBzrsk5t9/fqnwXA8SbWQyQAJT5XE/QRUII5AI72t0uJYK/9Nozs0LgZOAdfyvx1X8C3wfa/C4kBIwEKoA/BIbHHjGzRL+L8otzbifwK2A7sAs44Jx72d+qgi8SQsA6aYv4Q6LMLAl4Fvhn51y13/X4wcwuBsqdcyv8riVExACnAA86504GaoGInUMzs1S8UYMRQA6QaGY3+FtV8EVCCJQC+e1u5xGGXbrjYWaxeAHwtHPuOb/r8dFngUvNbCveMOEXzewpf0vyVSlQ6pw71DNchBcKkepcYItzrsI51ww8B5zhc01BFwkhsBwYY2YjzCwOb2Jnsc81+cbMDG/Md61z7td+1+Mn59xdzrk851wh3v8Xrznnwu6XXnc553YDO8xsXKDpHGCNjyX5bTsw1cwSAv9uziEMJ8pj/C6grznnWsxsNrAUb3Z/nnNutc9l+emzwFeAj8zs/UDb3c65JT7WJKHjW8DTgR9Mm4Gbfa7HN865d8xsEfAe3lF1KwnD1cNaMSwiEsEiYThIRES6oBAQEYlgCgERkQimEBARiWAKARGRCKYQEBGJYAoBEZEIphAQEYlg/x9nysxZCWgRHAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "X = list_bisec[0]\n", "Y = list_bisec[1]\n", "plt.plot(X, Y)\n", "\n", "X = list_newton[0]\n", "Y = list_newton[1]\n", "plt.plot(X, Y)\n", "\n", "plt.yscale(\"log\") # y軸を対数目盛に\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# ode - oscillation(25点)\n", "\n", "Euler法を用いてバネ振動の常微分方程式を解く.\n", "\n", "規格化したバネ定数$k$を0.001として,\n", "刻み幅dtを0.1秒とした場合に200秒までの振る舞いを\n", "\n", "``` python\n", "def euler3(x0,v0):\n", " v1 = v0 +(- k * x0) * dt\n", " x1 = x0 + v0 * dt\n", " return [x1, v1]\n", "\n", "t, dt, k=0.0, 0.1, 0.001\n", "tt,xx,vv=[0.0],[0.0],[0.1]\n", "for i in range(0,2000):\n", "```\n", "でplotしてみよ.\n", "\n", "振動の周期$T$が\n", "$$\n", "f = \\frac{1}{2\\pi}\\sqrt{\\frac{k}{m}}\n", "$$\n", "\n", "$$\n", "T = \\frac{1}{f}\n", "$$\n", "と一致していることを確かめよ.\n", "\n", "ただし,$k$は規格化しているので,$m=1$\n", "\n", "\n", "また,規格化したバネ定数$k$を0.01とした時,周期はいくらになるか.\n", "また,200秒まででだいたい何周期になるか" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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M9frZMOGdllopD3+OPz4I0ydGj8D99gRgDExpG9f+PvfXSGwdq3vNInluONcR319+/pOEjpWABgTQ0TgoYdg/frY6nc+HrRp407GB7pDiwtWABgTY9q2dXXR48bBzJm+08S/mTNdR2+rVvlOEnp2DsCYGDRihGsZvMcevpPEt6Ii18//H3+40b7ijZcCQERGAScD24BfgYGqut5HFmNi0W672SDykfDMM663z+efd9s83viqAvoAaKOq7YD5uEHnjTFVtGgR9OsHf/3lO0n8WbHCNfrq1g3OjtMxEL0UAKr6vqoWX8n8FdDcRw5jYl1+Prz1Flx/ve8k8ee221xr3yefjK8TvyWJqvoNIPIWMFlVX6zg8UHAIIAmTZpkTZo0qVrryc3NJTMzs9o5w8VyVY3l2tmECS144YUWjB49i06dStek2vaqmpK51q1L4ccf63H00as9p3Jqss26d+/+rap23ukBVQ3LBHwIzC1n6lviObcAUwkURLuasrKytLqys7Or/dpwslxVY7l2tnmz6v77u2nTptKP2faqmuzsbN26VbWw0HeSndVkmwHfaDn71LBVAanq8arappzpTQAROQ/X5fRZgYDGmGqoXRuefhp+/RXuv993mtg3bBgcfbQb8SveeTkHICK9gBuBPqoaB33qGePXscfCK6/ETx81vsyfn8no0XDQQZCe7jtN+PlqB/AokAZ8IO7syleq+m9PWYyJC/37u9utW91tPF63Hk5bt8J99x3M7rvD6NG+00SGlwJAVQ/wsV5j4l1ODhx5JJx6qus11ATvzjvht98yeest19leIrCuIIyJI3XrQlYW3HMPfPed7zSxY+tW18tnz55/cVICDYZrBYAxcebBB91gJWefDXl59i8ejLQ01+fPlVcm1pib9u0wJs40bAjPPgvz5sFTT+3nO07UmzYNNm2COnUgI6PQd5yIsgLAmDh0wgkweDD8+GO9hLicsbo+/hhOOQXuvtt3Ej+sN1Bj4tS990Lv3t+Rnt7Nd5SotHq1qyY76CA30EsisiMAY+JUWhqkpCjr1rnLGq255Q6qcMEFbozlSZMgI8N3Ij/sCMCYODd5sussrlYtuOYa32miwxNPuE70xo6F9u19p/HHjgCMiXOXXOLaBQwZAv/7n+800aFnT7jxRjeyWiKzAsCYOCfiBo/Zd18480xYudJ3In82bXLV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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "def my_plot(xx, vv, tt):\n", " plt.plot(tt, xx, color = 'b', linestyle='--',label=\"height\")\n", " plt.plot(tt, vv, color = 'r', label=\"velocity\")\n", " plt.legend()\n", " plt.xlabel('time')\n", " plt.ylabel('height and velocity')\n", " plt.grid()\n", " plt.show()\n", " \n", "def euler3(x0,v0):\n", " v1 = v0 +(- k * x0) * dt\n", " x1 = x0 + v0 * dt\n", " return [x1, v1]\n", "\n", "t, dt, k=0.0, 0.1, 0.001\n", "tt,xx,vv=[0.0],[0.0],[0.1]\n", "for i in range(0,2000):\n", " t += dt\n", " x, v = euler3(xx[-1],vv[-1])\n", " tt.append(t)\n", " xx.append(x)\n", " vv.append(v)\n", "\n", "my_plot(xx, vv, tt)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "198.69176531592203" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/(np.sqrt(0.001)/2/np.pi)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAEGCAYAAABLgMOSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd3xUVfbAv5dQQu8dpAskdBBFUcEKdrBhx1Wxoa69rGtdWXQtP9uKiw0EBLuIIggGpEg3QEJH6b1J6CQ5vz/ODAkhZWby2sy87+fzPpOZee/ekzsz79x77ilGRPDx8fHx8QmXEm4L4OPj4+MTnfgKxMfHx8cnInwF4uPj4+MTEb4C8fHx8fGJCF+B+Pj4+PhEREm3BXCSGjVqSOPGjSO6dv/+/ZQvX95agSzAlys8fLnCw5crPLwqFxRPtvnz5+8QkZonvCEicXN07txZIiUlJSXia+3Elys8fLnCw5crPLwql0jxZAPmST73VN+E5ePj4+MTEb4C8fHx8fGJCF+B+Pj4+PhEhK9AfHx8fHwiwlcgPj4+Pj4R4SsQHx8fH5+I8BWIj4+Pj09ExFUgoY+Pj3c4eBC+/RbWrIFOneCCC8AYt6XyCQdfgfj4+DhOejr07QsrVuS81rMnfPUVVK3qnlw+4eGbsHx8fBynYkVo0AB+/BEyMmDIEMjOhtKl3ZbMJxz8FYhPXPP77/Drr1CtGlx2GVSu7LZEsY2ImqlOOgkmT855/c47YcAA34QVbfgrEJ+45OhRuO02tb3//e9w++2wbZvbUsU+Q4fCVVfBgQMnvmcMbNgAvXqpYvfxPq4qEGNML2PMcmPMKmPME/m838oY85sx5rAx5pFwrvXxKQgRuPFG+OgjeOIJ2LRJbfEtWuj7u3e7K1+scugQPP88bNkCZcvmf06FCjB/Pjz1lLOy+USGawrEGJMAvAv0BpKA64wxSXlO2wXcD7wawbVRwbZt8MYb8OKL8NtvbksTHxw+DAkJ8O9/61G3LjRqpO+9/jokJ/tKxA6GDlVl/cILBZuqqlSBhx+Gn36COXOclS9WOXpUJ0124OYKpCuwSkT+EJEjwGjg8twniMg2EZkLHA332mghIwMeegieeQZOPx1uuklnaj72kZgII0fC44+f+N4558DWrfCPfzgvVyyTlaXKuXt39bYqjHvvVUXy6quFn+cTGsOHQ7NmsGtXKcvbdnMTvT6wPtfzDcCpVl9rjBkADACoXbs2U6ZMCVtQgH379kV8bX6sWVOOxo3VEPzVV6VJTMzi888bMmxYY9at286zz6ZTIgT1brVcVuFVuUaOrMmKFfM4+eR9BZ7Tp09zhgypzymnzKVJk3yM9Tbg1fGySq7Zs6uxZk07br45nalTtxd5/nnnNeObb+rzzTe/UbVq3vlj7I+XlaxfX5N69WpTqtRu62XLr0iIEwdwNfBBruc3AW8XcO5zwCORXJv78EpBqbQ0kTJlRD755MT3Xn1V5LHHRLKynJfLSrwo1+rVIiVKZMuDDxZ+3vbtIuXLi1x/vTNyiXhzvESsk2vjRpGXXhI5fDi085ct0/N37bJXLqvxqlwi9hSUcnMFsgFomOt5A2CTA9e6igjceitUqgS9e5/4/sMPOy9TvPDWW1CihPDII4X7itaoAffcA+++Czt3QvXqDgkYw9SrF97GeMuW/ka6Faxbp99fu6rsurkHMhdoYYxpYowpDfQDxjpwrat8+SXMnQuvvAK1ahV83o8/6majjzX89Rd8+CH07LmNevWKPv/JJ2HtWl95WMGkSfq9z84O77qDB2HMGFi92h654oH774fOne1r3zUFIiKZwEBgArAU+FxE0o0xdxlj7gIwxtQxxmwAHgKeNsZsMMZUKuhad/6T0MnKgqefVi+fm24q/NyUFHV5XLbMGdlinTFjYN8+6Nt3Y0jnV62qKxGwz4MlXhg0SL/34QYJZmTA9dfDJ5/YIlbMc+SIBmuee659fbgaByIiP4rIySLSTEReCrw2RESGBP7eIiINRKSSiFQJ/L23oGu9zvLl6rb77LPqRloYjz0GZcqo54pP8cnO1h9Sy5YZIV+zaZN6xn3zjY2CxThbtsDUqXDtteErkFq1oEcP+PxzX4lHwsyZOmm64AL7+vAj0R0kKUkjbfv0KfrcmjXhhhtgxAg/JsEK7rpLTSnh3MRq11bzyejR9skV64wdq8r7qqsiu/7qqzXIM93z9gXvMWEClCxZtNt0cfAViEMcOqSzqPLl9UMNhXvvVTvwxx/bK1uss3Gjmg/DJSEBrrwSxo2D/futlyse+PFHDdJs0yay6y+5RB/Hj7dOpnhhwgRdQVeqZF8fvgJxiOef1x/RkSOhX9OhA/ztbzoT9omciy8ObdWXH9dco0r8hx+slSkeENFaH717R54ksUEDaNsWUlMtFS0u+PBDGDzY3j78bLwOkJ2tkc9t24afrvrDD+2RKV5YswYWLtTcV5Fw5pmqwD//XJWJT+gYo0kRDx8uXjtTp2pkuk94dOxofx/+CsQBpk2D9esjv4llZPgzsEgZG3DuvjzCRDcJCepB1KuXdTLFE8Zo6pjiULWqn+Y9XL74Iue7byf+CsQBPvtM9z4uuyyy62+4ARYtgj//9H9I4fLdd9C6dU6m3UgYONA6eeKJHj3UfJVfzrFwuesurdkyaFDx24oHXnwR6tSJ/J4TKv4KxGays3UmcNFFkUeD9umjQW3+KiQ89uzRYlFW/Ii2b/drVITDtm1qego3eLAgNmzQcrc+RbN7N6SlqfnVbvwViM1kZ2sKjTp1Im/j4ot15TFunDN2zVihXDnd/G7atPhtXXedZuldvLj4bcUDv/6qjz16WNPe2WfrZ7l5s6bf9ymYGTPUgcEJBeKvQGymZEn1ge/ePfI2atWCU0+F77+3Tq54oHRpDaJq3rz4bfXqpbO6deuK31Y8MHWqKvAuXaxp7+yz9XHaNGvai2WmTYNSpfSeYTe+ArGZoUOtyeVzySWaQ2vr1uK3FS+88YZ6YFlBcBP9l1+saS/WmToVzjhDb2RW0KmTViucOtWa9mKZJUtUcRdU9dFKfAViI+vWwYAB8O23xW/rb3/TGXBhCRh9cti4UQt1TZpkTXvJyZoby2OlHjxJMG3MdddZ12bJktC/f07lSJ+CGTvWucBLfw/ERoI3rwsvLH5bdev6tt9wmDxZH887z5r2jFF7vq9AiqZECV39Wc3bb1vfZixiDFSu7Exf/grERiZP1iC05GRr2ps5U11KrfJsiWUmTdIVQ9u21rX5wgv6mfqJ/Qpn/Xqtw20HmZkaF+WTPyNGqNt/cYM3Q8VXIDYhovbyc86xLnZj1SotcuR7AhXN1Km6YgilLHCotG6ttaX9WJzCufLKnBxWVpKZqROyF1+0vu1YYfx4/e6XKeNMf74CsYk1a2DHDmtz8QezavobuYWzc6eOfXE83wpi9Gj43/+sbzdWOHRI45U6dLC+7ZIl1aNu9mzr244V5syBrl2d689XIDbRpAns2gX9+lnXZsOGGlHtK5DCqV5dgwjvuMP6tr/4Av79b+vbjRVSU9V8ZZcL6Wmnwbx5kJXlLwPzsnu3WilOOcW5Pn0FYiMVK1pfi/jcc3WJmplpbbuxRqlSGodgNd276+py0ybr244FgqsDuxTIqafCgQPw5582FfmOYubN00d/BRLlZGVpDqBx46xv+5xz1JXXD2grmJtv1r0iO+jWTR9nzbKn/Whn9mxNwV6/vj3tBxXTkiUV7ekgijl8WJ1G7KyBnhdfgdhAejr89JM9lQSvukqXqVak54hF9u2DUaM05YUddOyoEe6+AsmfgQPtceEN0rQpvPQSJCXtta+TKOWSSzTpqpOp7/04EBuYMUMfzzjD+rZ9D6DCmT1bV4B2jD2od0vnzr4JqyBOP93e9o2Bp56CKVP8EpF5EXH+/uCvQGxg5kxNntikiT3tv/mmzoT9eIQTmTFDf0RBU5MdTJmi/vY+x7N8uZZRDafqZiTs3w/z51dh3z57+4kmNm/WdPdOZyz2FYgNzJihMzG7ZgOlS6u3y5o19rQfzcycqYGbdi7jw60qGS+MGKGZo+128JgxAx55pANz5tjbTzSxcKF6Htas6Wy/vgKxmEOH1NX2/PPt6yNoJgiaynxyaNgQLr3U3j7271d78yef2NtPtDF3ripvO7zfchMsaeDXZ8khWCuoXTtn+/X3QCwmMVGX8XbSpo26CM+YAddea29f0cbQofb3Ua4cLFigq5z+/e3vLxoQ0Rv6RRfZ31fNmlCz5iEWLChmrdwYIjUVGjd2vna8vwKxGCfiMxISNKBq5kz7+4omsrKc6ccYdSf1TSg5bN6sVQidKnjWosU+Fixwpq9oYOFCaN/e+X59BWIxZ50Ft95qfz/XX6+ZZv2N9ByeekrNh04km+zcGVauhL2+NynAsZu5Uwrk5JMzWL5czYnxjojmH7v6auf79hWIhRw+rNGgTtTs6N8fXnvNd+vNzbx5msbaygSKBREM1vLt8MqFF+os2KoKhEX3t4U5c5xLGuhljIF//Uuz8DqNr0AsZNEizQPkVC6aI0dgzx6LSr5FOdnZMH++c2PfqZOuNv0VoFKqlG7gOlEFD6BOncN06aIJFuOd7dvdW4n5CsRCgrlonJqFtW0Lb73VwpnOPM7q1fDXX86Nfe3aOSnjfeDZZ50vtvXNN/D558726UWee069D92YzPgKxELmzdMiRk6V3WzbFpYv93MCgfPKO4hdhZOiid27tdiW0+ld3nsPBg92tk8vkpqqnplumLN9BWIh558Pjz3m3Ad5yimwaVNZdu1ypj8v07Qp3HsvJCU51+eQIVCpEnEfER2MQejUydl+O3aEtDT7I9+9THa2ms7tqL8SCr4CsZB+/eDRR53rLzjbnj/fuT69yqmnwjvvqC3eKerX18DRhQud69OLBB0JnPLACtKxo64Alyxxtl8v8ccfOoFxw4UXfAViGTt2wNq1ztohg55Ac+c616cXyc7WmahTcSBBguMf7wp8wQJVpk6n0QgqrOAKKB4JTl58BRLljBqlkaB2pRHPjypV4IEHVjgS/etlVq3S/aBhw5ztt149TZoZ7wFtmzY5v/oALW+bmAgrVjjft1fo2BHeektTyLiB7wRnEfPm6Q2lXj1n+73iik106HCys516DDdnYZ06+SuQX35RU57TJCTA+vVawjheadoU7rvPvf79FYhFzJ3rvAcQwIEDCYwfr5k445VFi/Rm4sYsrH9/Px8W6ErADWrUiO9g2kmTYMMG9/p3VYEYY3oZY5YbY1YZY57I531jjHkr8P4iY0ynXO+tMcYsNsakGmPmOSv58ezdq7UQ3FAgK1dW4KKL4LffnO/bKyxcCC1bunMTu/pqePhh5/v1CuPG6Ri45Qk4Z45GYO/Y4U7/bnLkiJbOfu8992RwTYEYYxKAd4HeQBJwnTEmrxNmb6BF4BgA5B2qniLSQURcuHXnkJqqm+dO1iIO0qyZ+pDGsyeQW4nkQD/3LVuc3fvyEtOmwdixmh3aDfbs0f3HxYvd6d9NVq7U5K1u7X+AuyuQrsAqEflDRI4Ao4HL85xzOTBclFlAFWNMXacFLYqkJBg9WjPkOk2FClk0bhy/nigi8N//umcHzs7WypOvveZO/26zeDG0bu2s+3Ru2rbNkSPeSEvTRzcViJub6PWB9bmebwBODeGc+sBmQICJxhgB3heR/9koa6HUqOFuXY4OHeJ3BWKMVsFzi+Dey6JF7sngJmlpmhPMLerU0U30eFQg6emaOLRlS/dkKFKBGGO+Aj4CxouIlYmy89v6yhtFUdg5Z4jIJmNMLeBnY8wyEfn1hE6MGYCav6hduzZTIkzYs2/fvgKvnTKlJo0a7adJkwMRtV0c9u3bR+XKa1i+vBHjx0+jbFkHcpmHQGHjZSUrV1bgr79K0anT7pCy8NohV82aLZk9uzpTpkReoMWp8QqXwuTat68k69d3p3z51UyZsj7fc5yQq2HD9syYkcCUKe77Uzv5OU6Zkky9euWZNSu0wjS2yCYihR7AecBIYDUwGGhV1DWhHEA3YEKu508CT+Y5533gulzPlwN182nrOeCRovrs3LmzREpKSkq+rx89KlKmjMgjj0TcdLFISUmRtWtFFi4Uycx0R4b8KGi8rOa220Rq1BDJzg7tfDvkeuMNERDZsiXyNpwar3ApTK6VK0W6dBGZONE5eYLkluvhh0VOP915GfLDyc9x9WqRmTNDP784sgHzJJ97apErEBGZBEwyxlQGrkNn++uBocAIEYk0ndxcoIUxpgmwEegHXJ/nnLHAQGPMaNS89ZeIbDbGlAdKiEhG4O8LgBcilKNYLF+udUDc2sQFOOkkPeKR4Aa6m66cwTrUixdrlt54oXlzb2RBePVVtyVwh6ZN9XCTkDbRjTHVgf7A7cDvwJtAJ+DnSDsWkUxgIDABWAp8LiLpxpi7jDF3BU77EfgDWIUqrHsCr9cGphtjFgJzgB9E5KdIZSkObqcSCDJ6dPylts7MVBu822PfuTMMH64ZUX18nGD9enj3Xdi61V05QtkD+RpoBXwKXCoiQYfFMcWNvxCRH1Elkfu1Ibn+FuDefK77A3D5tqEsXAilS0OrVu7K8d57mljummvclcNJVq7UCOjgCsAtKleGm25yVwY3uPRSzYE1ZEjR59pJZiZccAFccQXcf7+7sjjF9OkwcKA6MLi56g1lBfKBiCSJyL+DysMYUwZAXI6/8AILF6oXjltujEHat1dPICfqgXuFoOeT2ysQ0HxM337rthTOIQIzZnijImPJkvDnnzAzch+GqCM9XT0AT3Y5i1EoCuRf+bwWx3HPxzNmjB5u06GDlrVcvdptSZzjiis0kaGTNUAK4oMP1JU7XgpMbd6shaSCcRhu07ZtTlxEPJCeDi1auF8TvkAFYoypY4zpDJQ1xnQ0xnQKHD2Aco5J6HEqV9YP0m2CBWXiKaCwTBnNRlq6tNuSqBntyJH4yQwbjLvwigJJStKxz8x0WxJnSEtzN4AwSGErkAuBV4EGwOvAa4HjIeAp+0XzPgsWwDPPeCMPT1KSLmnj5QYG8OKLWpfcCwT3YeIloDCoQLziONC6ta7+4mEFfuiQmuy8oEAK3EQXkWHAMGPMlSLylYMyRQ2TJulN7MEH3ZZEEwlu3w5Vq7otiTNkZKjyfuklOPtst6XRaOCEhPipjte0Kdxyi3dSqXfsqIkF48GEmJio5kMvrLYKVCDGmBtFZATQ2BjzUN73ReR1WyWLAhYuhIYNvXPT9oocThC8UXthFgZqTmveXG3T8UDfvnp4hXbt4Mcfiz4vVnAreWVeCjNhlQ88VgAq5nPEPW5mgc2P6dN1Izcjw21J7Cd4o/aKAgH48kt4/323pbAfEe9+x5wua+wGY8bAP/7hDQ+4AhWIiLwfeHw+v8M5Eb3JoUOwbJm3FMjOnRpMGA9mlPR0Xco3aeK2JDm0aeN8XXA32LQJKlWCjz92W5LjufVW6NbNbSns55tvNHDYC4W0inTjNcYMM8ZUyfW8qjHmI3vF8j5r10LZsu4HseUmuKEZD+6M69bpxmlCgtuS5LBhA/zrX7BmjduS2MvSpfrYuLGrYpxAlSo6sYj1WKhly9zNwJubUNK5txORYwVTRWS3MaajjTJFBS1bwl9/eevL2qSJKrV4UCBffKFxL15i1y745z91L8RrN1crCSoQt7Mv5CUpCQ4c0MlFrI5/drZ6Wp5zjtuSKKEEEpYwxhzbnjXGVMPdOiKeoUQJjYL1CiVK6J5AvNRGKF++6HOcJOiJFesb6UuXavxTnTpuS3I8rVvrYyybcNevh4MHvbMCCUWBvAbMNMa8aIx5EZgJvGKvWN7n0UfheQ/uBHXt6n5aFbtZuBCuu05zYXmJePHEWrpUb9ZesMHnJqhAgiukWGTzZlXeXln9hZLOfXggaWJw0dRXRGJYx4fGl1+6U8K2KN59120J7GfuXN1EfOkltyU5kaSk2Fcgf/sbIRXvcprq1eGBB7wTHW8Hp52mMSBe8MCC0E1RpdDqgBL4O67Zt083Sm+/3W1J4pP0dChXzpt27uRkmDBBA9pidSXo5czD//d/bktgP8Z4Z/UXihfWA2hFwhpALWCEMeY+uwXzMl4LYsvNvn1wxhnwUQz7yaWnq7nCi7PgJ55Q54pYVR47d6oXkBeioPMjO1vTfHhlhm41AwfCC66UzsufUH6CtwGnisizIvIMcBpwh71ieZugicIreYByU768/sDnhFYmOSpJT/dGBt78KF/eW44VVvPdd6q8veqq/N57mmZlyxa3JbGHb7/1Vr6vUBSIAXLHd2YFXotbjFE7q5eC2IIYo4otVl15Dx+GWrWgUye3JckfES1qFKsrwGXL1FnAi999yNlcjkVPrIwM2LjROxvoEJoC+RiYbYx5zhjzHDAL+NBWqTxO//6addVLQWy5CSqQWFzGlykDv/8Of/+725LkjzEwcSKMG+e2JPawdKkWMfLqdz+4Mo1FT6xgpu2oUiCBpIm3AruA3cCtIhIHW1XRS5s2aoffsMFtSeKTpKTYnAFDjguvV6lTR91cY3H8ly3TR6/EgEDhBaWqBQ9gDTACrYu+NvBaXLJnDzRooDmnvMopp8Bll2nAUazxzDOattvLJCfDqlVqboslgnUovKxAjIldBZ6QoKmTmjVzW5IcCtvum4+67ebe7wg+F6CpjXJ5lvR0tUN6LQo6N1266GZnLDJzpq6uvExysmaFXb7cW7nSiosxmsiveXO3JSmcJ57wpodecenXTw8vUVhBKY9uk7mLlz2w8hKLsQjp6XDhhW5LUTjJyRqjsmuX25JYS5kyurL1OtEgY6wQShyIMcbcaIz5Z+D5ScaYrvaL5k3S0qBCBTjpJLclKZwbb4y91Na7dql7phfjb3LTtq2aenr0cFsSa5kzB375xW0piubQIa2NE0uuvFlZ6p783/+6LcnxhLLQ+y/QDbg+8DwDiIOEGfmTnq43MK9EghZErVpqB/ZStuDi4sUiUvHE669HR/aFjRvhzDPhhx/clsQ61q3TSUnp0m5LcjyhKJBTReRe4BBoOnfAY/+Gc5xxBlx1ldtSFE1ysm6i//mn25JYR+nScPHF0bGvMGiQ9zf7w8XrHlhBGjdWc1ssufIuX66PXnLhhdByYR01xiSgG+cYY2oCMTSvDQ8vpREojOAsPS3NW14bxeHUU6MnvmL/fpg0CY4c8d6sMRKCTgHnn++2JEWTkKCurkG311jAiy68ENoK5C3gG6CWMeYlYDowyFapPMrBg7oxHQ0EA6piKTNstIw96PhnZqo7byywdq26JUfDCgR0ph5rK5Bq1aBGDbclOZ5QAglHAo8B/wY2A1eIyBd2C+ZFPvpI3Xe3bXNbkqKpVAmefFJjQmKFxo3hkUfcliI0ggo8VuIRgjfjaFEgrVur+TZWYqHatoVbbvHe3muRJixjzJvAGBGJ243zIGlpqkBq1nRbktAYFEPrxN27YdMmqF3bbUlCo2VL/bHHigI55xyYPz96FMjNN8MFF8ROYst77nFbgvwJZXgXAE8bY05GTVljRGSevWJ5k/R0jf/w2iygIDIzNXNns2bR/0MKzoC9moU3L+XKqbNF3bpuSxIh2dmwZw9l16+H5cspW7IknU6qDInViYZcqk2b6hF1HDyos44//4QdO2DPHrJMAlKyNCXr19b4gZYttXqWBwilIuEwYFggfcmVwMvGmJNEpIXt0nmFMWNoPnoMfeZOoEnbijCykd6VW7fWxDseZeRITfy4dKn3vDfyZccOmD1bM1Wmp2v9zm3b4NAhkjJK8DtlOfmVuvBtA13Td+4MHTvq3dqDeDndzXGI6HhPnKjlHhcvVqN7Zian5j03MVFtiZ07q330vPNUq3twVvXFF2ot8HQ8zpEjGlwzcSL8/HO+vvf55q1s3hxOPx0uuUQjaytVckTcvIQzL20OtAIaAzGyMA+RBQuo9fMk7j00jtJzj8KNgdeDed27d4dLL9V1vodcboLR8unpHlYgaWlan/ann2DBgpwUwo0aQf36+kMpV44/52exafsB2h/YDN/Nhw8+0PPKlNE7xMUXwzXXeM7GlZ3trQpyx7FwIQwfDmPGaPAE6Ay3fXu9MdWpw9Jt22iV3Ia7B2RyTsc9XHP6Bk0LO2WKzlBAc7v36aO1bj0UpPPEE5rWx5MKZN48+Phj/e7v2qXf4zPPhL599Z7SooUGc1Wpwmcjshg44DDzvt9CkxJrVcHPnq2BLsOH6z3nssvgzjv1HuRkHhcRKfQAXgZWAj+hWXmrFHWNV4/OnTtLpHz77XQZPFgkfd4BkaVLRcaOFXn+eZELLhApX14ERCpXFrnlFpGZM0WysyPuKxxSUlIKfG//fhFjVEynKUwu2btX5K23RDp21HFLSBDp3l3kxRdFfv1V5K+/Trjku+9EXngh1wubNol8/73Igw+KtGyZ086ll+pnk5UVvlwW8+23ImXLiqxYUfS5jsl1+LDI8OEiHTromJUqJXL55SIffiiybl2+cm3erKe++WaeN9etE3n/fZFLLtF2QOS000RGjRI5etTWfyOU8br4YpG2bW0V4wQKlSsrS7+zZ52lY5WYKHLddSLjxokcOFDgZU89JVKypMiRI3neOHpUZOpUkQceEKlWTdts0ULkgw/0cw5HtiIA5kl++iG/F487Ae4CahR1XjQcxVEghQ7+wYP6Jbj1VpGKFXVY27bVH2U+H6SVFPWlaNpU5OqrbRUhX/KVa+NGkccfV0ULIp07qyLZtq34Haanizz2mEjdutp2q1YiQ4fqZ1OUXDYxe7aK8u23RZ9ru1wHD4q8/rpI/foqVHKyyLvviuzYUaRcv/yil0ycWMiJ27Zp+61a6clNm4oMGWLb9z+U8XrkEZEyZUQyM20RIV/ylSs7W+SHH/SeACInnSTyxhsie/aE1OaVV+ocqVAOHhQZMUJ/U8E+hgw5TpHboUBCceMdIiI7bFsCRQlr1pRj8+YC3kxMVBPKRx+pq9D//qfRTLfdpiaYd991zZ+wTRsPxIIcOKB52Js1g//8R6PRZs3SZfx99xXp1nbkiMZTZGUVclJSErz8sgYsjBoFZcvCHXdo9aOPP3aliHfQY8lVT3KQW0sAACAASURBVKysLPjkEx2Hhx5S08iPP6oZ5J57QtqMDQaxFWoGrVkTHnxQv2zffKPt3nWXfi5ffOFKdbNWrTR2xdXyu3Pnqlnp4ov1HjBihH6Z//73kPdPly0LIYAwMRFuuEH7+/FHqFdPx799e5gwofj/R0Hkp1Vi9SjOCiQpaY/07BnGBdnZIuPHi5xxhs4I6tcX+eQTy6dDRc0qUlJ01ew0KSkpOgajR4s0bKhj0K+fyKpVYbc1b55e/uWXYVyUna1T5lNO0Ytbtxb59ltJ+eWXsPsvDg0bitx4Y9Hn2bICmTRJVxqg4zB5cthNpKSkyCOPiFSoEKZVNjtb5McfRdq00f67dRP57bew+y9MrqKYMUO7dvL7f0yu3btFBgxQAWrWFHnnnXxsUKHx1lthfvdFdPy//lqkWTOVoXdvmTViRET9ixS8AnH9pu7kEakCyc4WKVfuqAwcGOHFv/yScyNr374IW0B4OGmSCYc5Q4fm2Ho7dNC9jQgZPlybWbIkgouzs/XXF9gn2dmli8iyZRHLEi4XXijSqVPR51n6OW7ZInLDDTpozZqJfPFFxHtyKSkpkp0tsmtXhLJkZqpNPmhaHDBAZOfOCBs7Xq6iOHRIZO3aArfDbCHll190vOvUESlRQuShh3TPzy0OHRL5z39EKleW+e++G3EzYSsQoFphR0HXhXMAvYDlwCrgiXzeN2gqlVXAIqBTqNfmd0SqQNau1ZEaMiSiy5WsLJHPPhNp3Fgbu+QSkdWri9GgUtQP6cgRnXiGspFrCTt2iNx9t2SXKCFSvboOWjFXXU8+WcAmYjgcPSry5ptytHx53fB9/HGRjIxiyRUKw4eLvPxy0edZokAyM0X++1/dYypdWuTZZ0/YAwoXyxTb3r16M01I0Bn5sGHFcjTx5MRp3TrZfvrp+vvu2FFk/vxiN7ltm8iff1qgBPfudXYTHfgT+CPwmAXsAHYG/v6zoOtCPVD35tVoZcPSwEIgKc85FwHjA4rkNGB2qNfmd0SqQH74QUdq2rSILj+eQ4dEXnlFbQJlyog880yhHhhFUdSX4uBBnQj9858RdxEaR4+KvP22SNWqIgkJsr5Pn2JMW4/n8stFkpIsaUqmf/WVesqBSIMGIp9/7pjHXGEU+4a4YIFI1676f517rsjy5ZbI9cMPv8r114tMn25JcyKpqeqpBSI9eqhHYwSEOl5jxoj8618RdRE6mZn63a9QQTLLlBF59VXLvNBee02Hqghfh5BwdBNdRJqISFNgAnCpiNQQkerAJcDX4e205EtXYJWI/CEiR4DRwOV5zrkcGB74H2YBVYwxdUO81jIsrUNRpgw8+qjujPXtq+l9k5Jg7FhbNhoTE3Uf39aN9JQUDei77z59TE1l1f33Q9WqljS/ZIl1KTSOVqumm8ozZmhmumuu0UCsFSus6SAfduzQVCy2kJGhm9dduuhu8ciRGpB28smWNL9uXTlGjbIw/1v79jr2Q4ZAaqo+f+45rQJlAykp8OqrNu7hL16scWD33QdnnMHcjz+Ghx+2LPXDsmXqj+CRwPMTMFLEyBpj5otI5zyvzRORLsXq2JirgF4icnvg+U1o7ZGBuc4ZBwwWkemB55OBx9FgxkKvzdXGAGAAQO3atTuPHj06bFk3b04kNbUUvXtnhH1tUVRJTaXFm29Sfs0adp56Kqvuu4+D9euHfP2+ffuoUKFCoec880wya9aUZ/jwOcUV9zjKbNlCsyFDqDV1Kgfr1GH13Xez48wzwZiQ5AqV6dNrUKFCJh067Cl2W8fJlZVF/bFjafLhh5Q4coT1117L2htuIDsxsdj9BMnIKMlll3XnrrtWc+2160OTKxREqPnrrzR/5x1K79zJpksv5c/bbyezYkULpM5h7NjKvPFGR4YNm8NJJx2wtO1Su3bR/L//pfbkyRxo2JAVDz7Ino4dQ7o21PH66qv6vPNOC776agbVqlmXzrnEkSM0Gj6chqNHk1mhAqvuvZdt553Hvv37LfveAzzwQAeysw1vv/17sdsqzm+yZ8+e8/O95+e3LJHjzUgTgKfRm3Yj4B/AhKKuC6Hdq4EPcj2/CXg7zzk/AN1zPZ8MdA7l2vwO2+JAisuRI7pWrVhRbddPPRWyfT4UuZ5+Ws1YxTSH57B/v9rXExM1Uu6FF04ww3nSRi0FyLVli8hNN6mtoFEjjVq0kDp1NEQobLkKYvVqkd695ZiDwqxZxZKvMK6/fk3x95+KYsIEjRsBNS9u317kJaGO18SJ2qylX8dJk0SaN8+RN5d9yervfa1aIn/7mzVtuRIHAlwH1EQTKX4L1Aq8Vlw2AA1zPW8AbArxnFCujR5KlVIf/eXL1aQyaJD663/yiSU1aZOTtZlgVbOIEdEYi1at4Pnn4YortNF//lPjLmxg1SrNmmFrLZDatTUlxNSpWvD+8ss1Nc0ff1jSfFKSRbEghw/DSy/pBzptGvzf/6nf/6knZKyyjLVry9OihX5FbeOCCzSlzZNPqgmuVSsYNswSu1MwdsWS2iDbt2ua3/PO0+eTJulv1Cb70u7dajr0bBoiQqsHsktEHhCRjoHjARHZZUHfc4EWxpgmxpjSQD9gbJ5zxgI3G+U04C8R2RzitdFH3brw6acaZNe4Mdx6qyasmzatWM2efz7MmVPML+Jvv0G3bhqsVKOG3mw/+wwaNiz62mIwYgSce24RQYRWcdZZ8PvvGuyYkqI36hdeKLZ9vnVrVSAR3w9FdI+sXTt4+mlVbsuWwQMPOJJmOUSrUvEoW1YnTr//rlFz/ftrAF4xZz0NGkCVKnrvj5jsbPjwQ/0BjR6tE6bFi/WLaSOlS2t3l11mazfFI79lSe4DOBn4HzAR+CV4FHVdKAfqZbUC9aj6R+C1u4C7An8b4N3A+4uBLoVdW9ThWRNWfmRni4wcqZ5CoIl95sxxXq5FizSXAqgv/8cfh+RTaJVcV1+t1gKrCFmu9etFrrlGjqXl+PTTiN2R331Xm1m/PgK55s4VOftsbaBlSw1OdRBXTJFZWZpjq0oVNek++ugJsSPhyFUsh6hffsnJ2da9u6bMKQSvmm5F3MuFtRC4G/V86hw8irrOi0dUKZAg+/eLDBqUkyytd28NsQ24noYq1/ff670/ZBYsEOnbV/usVEn3PMKIm7BqvJKTNT+iVYQt18SJGvwZjGb//POwnfJXrNC0aLt3hyHX/Pk541+zpsZ32LoREaJcTrJ5s8jNN2tG0CpVRAYP1t+DE3ItXChy2WVyLK/UqFGOTpxEdO4wc6ZlzbmmQOYXdU60HFGpQILs3auKpHp1/dg6dRL54AOZGuKM9OqrdSJdKIcO6aonGAxVubLGqUQQz2HFeB09mhPzZxURyZWVpdHFrVvruDRvrqlpLYwwTklJ0RXO+PE5G+SVK6sHRD7ZiZ3gxx9F2rXbnV+SXmdZuFBX4KC7yi+8INNCyVAZ4OefNWl2SB/XrFk6YwF1avn3v8OK07LyPtGnj+amtAq3FMhzwD1AXSyORHf6iGoFEiQjQ2ejgRxDmYmJqh1Gjy70Rv/88zqRC0zgcti7V9Of33xzTpbc5s01s2phU+YisGK8li1TcYYNK3ZTxyiWXJmZOs7duuXcYG65RW/6RawO0tPztUDqSnLRIvmjf3+d6QZXHC+9FHK2Vrt48UUVx4GA/dD49VeRiy7S732ZMiK33abpzItYGXz9tf4f+Y6/iCro998X6dJFT6xaVX8wLk2cgiQlaRCtVdihQELZgbsl8Pho7q0TNArcx2kqVIC779ZMm9Ons+XVV6k/dapmPAXd+O3WTQPJmjXTLKnlynF6uQS6y142DdlD8xJ/6Obk/PlaxCkrS3ca+/SB665TLxMni9IUQOPG6k/QpInbkgRISIBrr9Vj7lx47z34+mv1GKpUSTfhe/TQze6kJM2IGqgkddddINnCtLG7NeBvwQL951JS4I8/aAI67v/5j3qBlSnj4j+qLF0KtWsfokIF6+JiisWZZ+qRns62xx6j7ujRurl90klw0UXqzXXGGVqIKRfBINRly9QnhcxM9WqYPh2+/14rAh45oqmr33xTnVcsjqcJl8xMWLlS/SW8TCglbb3y8/XJjTFw5pmszMqi/plnwsyZ6hk1Y4am096587jTzwscPBx4oWpVvdE99ZTe+M46y1PVFEHvoTZ6qBaPU07R4733tJri+PF6Ixo3LuecEiVUMZcrx7gdh0k4tB+q5wrGq1pVb3iPP87M6tU5/cornf8/CmHpUgLBgx5RIEGSk1n+6KPU/fxz+PZbrR08YoRGt4MqkNat9bFaNVpkw0fmKF1e2A6vrdM784HA59CsGQwcCFdfrV82j5SOXLNGXdeLTOPuMiH5ABpj2gBJ5Pomichwu4TyCZOEhJzZWZA9e2D1an3cv5+sw5lcfH1lLr+pEne/3FhdcT3yYymIL75QnXa5bUlqLKBMGRUwKOTWrTq7XbJEa7rv3g0HDrBmZSKTZpTljucaULFNo5yypYHP4MiUKe79D/mQna0z9osv3o9arT1I+fLqVn7DDXq3DdaYSUvT1DSLF8POnSQYQ++EUhzaVg3OaqSrxFNOUYXRrJknfwdB72Uvx4BACArEGPMs0ANVID8CvYHpgK9AvEyVKtA5JwNNAjCiZyDmyXu/l3wZPFj1nKcVSF5q19ajZ8/jXt42CR4+HzqedcJbniQjQ++zrVvvdVuU0ChV6sRJVC6evVN1zEcfOSxXhJx9tlrY2rd3W5LCCcXQfRVwLrBFRG4F2gPuG2h9wiYKFh3HCM6Ak5LclsQagv+Hq9UJw6ByZS1sd845xYnA8w7vvx89ygN0q/OMM6BcObclKZxQFMhBEckGMo0xlYBt+BvoUcnMmXDjjTq79Drr1qmZOlYUSN26ulVyzTVuSxIa4nwFWp9cfPwxTJ7sthRFE4oCmWeMqQIMBeYDCwBr07r6OMK2bZpqKBpmwUEZrUrj7jbGaNb4Isq/e4Z77vGwA0ME/PGHOiiOjZKER088oZmCvE4oubDuEZE9IjIEOB+4JWDK8oky2rTRR1trg1hEsDxHrCgQgIUL4a233JYiNNLSPOFJbBm1aumkZPFityUpmmASRa97YEFoK5BjiMgaEVlklzA+9tKkiRaYigYF8sADsGGDdwvpRMKkSfp/5fGw9iRLl3rfAygcKlTQvJ+WZOW1mWjxwIIwFYhPdJOQoDP6tDS3JSkaYyCMulpRQXA/x+s3se3bVcnF0uoP9P9ZtsxtKYomKGPMrUB8op9Onby/QSoCAwZoZdZYIlo8sYIKLtYUSKtWenO2oMSOraxcqVn6PZOBoRCKVCDGmE9Dec0nOvjgA5g40W0pCmfzZhg61NYy5a7QsKG6ZXpdgVStCnfcoYkKYokePeDKK+HgQbclKZwXX9RIdFuLeFlEKJHoybmfGGMS0JTuPj62EKsz4BIlosOM0rYt/O9/+ncsKfE+ffTwOiVKRI/5tsAViDHmSWNMBtDOGLM3cGSgcSDfOSahj6Xs2aOR0CNHui1JwQQ3+WMlBiQ3Y8d635V061bvm3kiRaTYBSZtJTNTzbe//uq2JKFRoAIRkX+LSEXgPyJSKXBUFJHqIvKkgzL6WEilSppIdvZstyUpmPR09b6qXdttSaynXj3P5aw8ga5dNSFtLNK8Ofz9725LUTBr1qj59o8/3JYkNEKJA3nSGFPfGHO6Meas4OGEcD7WU6KEBlR52ZV3/36twx0taVfCYe1avYF51RNr3z7NAnDyyW5LYg9163p37CHHhTcaPLAgtGSKg4F+wBIgK/CyAFGyyPLJS3Ky5jnyKiNGeN9TLFKOHNGSE+3be3OPJ3gD86JsVtCqlbdNiNHkwguhufH2AVqKyEUicmnguMxuwXzsIzlZ7dw7drgtScHE4uoD1DWzTBnvzoKDckVDEFsktG6dE+fiRZYv13Q31TyaQT8voSiQP4AocCjzCZVTTtG8THs9mKk7JUUL80WLDThcSpbU2aVXXXmXLtWA0+bN3ZbEHnJXJ/Qi+/bpBC9aKNCEZYx5GzVVHQBSjTGTgcPB90XkfvvF87GDYAFCLzJvnmYhrVLFbUnsIynJu04MF18Mdep4f6M/Ujp0gCefPKHqrWcYNSq6POAK2wOZF3icD3jYaugTKdnZnih9fhxpaeqpFC1L+EhISlI3zSNHvHejPv10PWKVevVg0CC3pSgcr/0mC6MwN95hhR1OCuljPdddp6Yir5GenpM1OFb5xz9g40bvKY+jR1WxedG0aSV793ozQHLePOjVy7v7Y/kRSiqTxcaYRXmOacaYN4wxMZQrNb6oWBEWLfKWt1NWlu4NRJMNOBK8OsNcsUJLqXrZS8kK7rxTb9Re4/ffYcIEKFvWbUlCJ5Sv8njgB+CGwPE9MA3YAnxim2Q+ttKmjXqibNvmtiQ5/PWXlrQ+7TS3JbEXEV0Bvv2225IcTzBLc6yvAFu31oA9r+XEWrJEc6WddJLbkoROKLmwzhCRM3I9X2yMmSEiZxhjbrRLMB97Cc7y09O9E/FdrZrOwGIdY3T1d+gQ3Hef29LkkJ6uq6NYdeEN0qqVKvHly3VT3SssWaLKzasr1PwIRdQKxphjxS2NMV2BCoGnmbZI5WM7QQXipdogXjKn2U1SkvdcedPSoEULLToWy3jVlXfJkujL/xaKArkd+MAY86cxZg3wAXCHMaY88G87hfOxj9q1YeBAb31hb75Z41PigdatYdUqOHy46HOdIi0t9vefQJVkiRLe2qw+elTlijbzbZEmLBGZC7Q1xlQGjIjsyfX257ZJ5mMrxnjPBp+aGh1FdKwgKUndqFes0PTpXuDTTzXQMdZJTISPP9bial6hVCn45Re3pQifwgIJbxSREcaYh/K8DoCIvG6zbD42k52tyf0aN3Y/dciRI2pSuOQSd+VwirZtoUsXOHDAbUlyOPXUos+JFW6+2W0JYoPCTFjlA48VCzh8opz334emTWHTJrcl0TKemZmx7wEUJDlZ0+p75aadmgqffeYtk5qdbN4M33yj3zkv8PTTmmIo2vYBC1yBiMj7gcfnnRPHx0mCm4lpae5XQAuml48XBeI1Ro+G11+Hq65yWxJnGD8ebrtNJy5eyPuVmqqrcLctAeESSiDhycaYycaYtMDzdsaYp+0Xzcducrvyuk2DBtC/f/SksbaCxx7zTtqQtDQd+2iow20FwcmTVzbSo9EDC0LzwhoKPAkcBRCRRWh9EJ8op2ZNTSrnBQVy+um6sRnrLqS5SUjQ9BVHj7otSXykkMmNlxTI/v0a2BirCqSciMzJ85pHLIc+xSU52RuxIOvWRZ/9t7gkJanyWL3aXTkyMvQGFk8KpEoVzTrshViQ5cv1ux+rCmSHMaYZmtodY8xVwGZbpfJxjEcegaeecleGHTugUSOt1BdPBG8YbgcUBvuPhxiQ3LRu7Y0VSJkycNNN3oqKD5VQvL7vBf4HtDLGbAT+BIqVwsQYUw0YAzQG1gDXiMjufM7rBbwJJAAfiMjgwOvPAXcA2wOnPiUiHi7S6l0uushtCWDhQn2Mpxkw5KQMWbIEund3T46uXXUFWLWqezK4wZtvau4pt0lOhuHD3ZYiMopcgYjIHyJyHlATaCUi3UVkTTH7fQKYLCItgMmB58dhjEkA3gV6A0nAdcaY3Iu8N0SkQ+DwlUeEHDkC06drPIhbBBVI+/buyeAG5cvD7bfDySe7K4cx0LAhVKhQ9LmxRNu20KyZ21LAnj3Ra74NxQurjDHmeuAB4EFjzDPGmGeK2e/lQLCmyDDginzO6QqsCiiwI8DowHU+FnLggGbAHT3aPRlSU7XQT82a7sngFkOHwjXXuCvDq6/CyJHuyuAGu3ZpNga390G6dIFbb3VXhkgJxYT1HfAXWpnQqjCj2iKyGUBENhtj8iswWR9Yn+v5BiB32NVAY8zNaOXEh/MzgQEYYwYAAwBq167NlClTIhJ43759EV9rJ1bIVbv2aUyYsJdTT7XOGB+OXDNmdKFhw8NMmbLYsv4Lwouf4759CWRl7XdFLhF46aXTOe20ndSvvzwf2bw3XmCNXNu3l+H++7vxwAMruOIKa6Jpw5Xr4MEE/vijO2edtYYpU+w1A9jyWYpIoQeQVtQ5BVw3CUjL57gc2JPn3N35XH81uu8RfH4T8Hbg79rovkgJ4CXgo1Bk6ty5s0RKSkpKxNfaiRVy9e0r0qJF8WXJTThyffWVyE8/Wdt/QXjtc/z+exEQGTJkriv9b9qk/b/5Zv7ve228glghV3a2SMWKIgMHFl+eIOHKNWuWjv8331gnQ0EUZ8yAeZLPPTWUFchMY0xbEQlreii6b5Ivxpitxpi6oquPukB+ZY02AA1zPW8AbAq0vTVXW0OBceHI5nM8nTrB119rqc9KlZzvv29f5/v0CsGN9FWr3NmAiNf9J9C9n1at3DVhLQ7cVdu1c0+G4lDgHkiwlC3QHVhgjFkeKGcbfL04jAVuCfx9C2omy8tcoIUxpokxpjQavDg2IFvdXOf1QVc2PhESzEqamup838uXw6xZWs42HmnaVDevV692R4EEP/N4VCCgrrxuulEvWqTOFI0buydDcShsBWJnXtTBwOfGmNuAdai5CmNMPdRsdZGIZBpjBgITUHPVRyISjJl+xRjTAY1NWQPcaaOsMc8ZZ6gnlhvprYcM0aSOGRnO9+0FSpTQm7dbK5Dt29UTqUoVV7p3nbZtNY397t3uuDFfdllOfZJopLBkirbt6IjITuDcfF7fBFyU6/mPwAkuuiJyk12yxSOVKqkScYOFC3X5npDgTv9eoEMH+PjjCmRnO38jee01ePllZ/v0EgMGwN136yrADc47T49oJUr1no/VzJyp2VidJDsbFiyIzghcK+nXD+688w/XUovHQxGpgqhUyT3lkZGhKf0PHXKnfyvwFYgPABMnwqOPamI3p1i9Gv76S+sgxDPdu8Nll22idGln+/39dzj/fG8k03STV17RlZjTzJihWQBmz3a+b6vwFYgPoPsf2dm6qecU8+bpY5cuzvXpVdavL+t4Usu5c2HSJG+k83CTlBR3UokEPbC8UtI4EnwF4gPkbKAvWOBcn5ddBlOnRmcWUqt55pk2jie1TE1VE060egBZRYcOmlTxyBFn+128WAu5VavmbL9W4isQH0C/yDVrwvz5zvVZvjycdVb8FDEqjObN9znuRr1wod48o60KntW0b69p9Z3OzLtoUfTGfwTxFYgPoDeRTp1g1Spn+svKgmefddZk5mWaN9/H+vWwc6cz/WVnqwKJ1/iP3ASdOJxU4EGFFc3mKwgtF5ZPnPDZZ87FAyxfDi+8oDEI0T4Ls4LmzTUQZv58uOAC+/vbswe6dXPPfdtLtGihyTydjEUyBiZMgNq1nevTDnwF4nMMJwOp5s7VR38DXWnZUu9ec+c6o0CqVYOff7a/n2ggIQE2bHDWlFeyJPTo4Vx/duGbsHyOkZmp9Sk++cT+vubN0z2Qli3t7ysaqFAhi59+0vF3gnhNHVMQTu8D/fgj/PSTs33aga9AfI5RsqR6RY0da39fc+fqnks8R6Dn5cILnTNpnH029O/vTF/RwOTJuheyfn3R51rBSy/BoEHO9GUnvgLxOY7TToPffrO3QlpWFvz5p/blk8OGDZoNYFt+uakt5OhR3WupXt3efqKJcuXUqcAJL8SsLN2wdyP3nNX4CsTnOE47DbZssXcmlpAAmzerF5ZPDhs2wMMPa4SynaSlafqMeM8AkJsOHfR7Gdybs5Ply7USqK9AfGKO4Kpg1ix7+ylRwr0cRF6lQwc1I9p9Ewu27yuQHMqWhTZtnFEgwWBdX4H4xBzt2ulhZ2K/hx6C55+3r/1oJTFRx37OHHv7mTtXPe6aNrW3n2jjlFPUucNO8y2oqSwxMaeYWDTju/H6HEepUjlV6uxABEaMgN697esjmunaFUaNwtbU7ueeq/E38R6BnpcLL1TT0v79WuTLLgYPhnvvjY0syDHwL/jYgVZqtv4mtnq1FjHyA9jy55RTYOhQWLsWmjSxp49+/expN9q56io97CYhIXbyj/kmLJ8T+P13dSdNSbG+7Zkz9fH0061vOxa49lqtTW+X8ti6Fdats6ftWEDE3oj0VavgzjudSxlkN74C8TmBZs1g1y6YMsX6tmfMgMqV/Qy8BVG+vL3p1T/4ABo10hKuPidyySV62MWvv8L//hc7gZy+AvE5gUqV1ENk6lTr265eHa6+OnprQDvByJFw4432tD19OiQnu1P/Oxpo2lRjQey6wc+apWPfooU97TuN/zP2yZcePbRS2oED1rY7aJDa+H0KZuNGVSJbt1rbblaWmhC7d7e23VjilFN0E92u1O6zZsGpp8bOBCruN9GPHj3Khg0bOFREYeLKlSuz1OmCASFgl1z9+sE552jQU2IiJCYm0qBBA0oVo3jHgQPqb+97/xTOmWfq44wZ0Levde2mp+v+iu/AUDDBvbkZMzQuxEr27tUgziuvtLZdN4l7BbJhwwYqVqxI48aNMYXc2TIyMqhYsaKDkoWGXXJlZmq0eI0akJgo7Ny5kw0bNtCkGLu7d9+t9T9+/91CQWOQzp1VaU+bZq0CmT5dH/0VSME0a6YOJNOn62a3laxfr84R3bpZ266bxL0COXToUJHKIx4pWRIaNgw+M1SvXp3t27dH3J4I/PJLbP147KJ0aTVzTJtmbbt9+2rVyVhxIbUDYzTRYb161rednKxu7HYHKjpJ3CsQwFceBSCi9uDERChZsnhjtGqV5no65xyLhItxevdWBWJlQGGdOurA4FM4t91mb/uxdLuJka0cHzvYvx+WLVPbbXGZMEEfzz23+G3FA48/DuPGWac8/vwT3nnHuZK50Ux2tnpirVhhXZtZWdC6NQwZYl2bXsBXIB5gzZo1tAljx27IkCEMHz680HM++eQTBg4cmO97g0IsRFC+vJqy/vorZNEKZNw4OPnkj/Y1AAAAEq9JREFU2HFfdIoifDtC5vvv4b77YN8+a9qLZbKztV7KO+9Y1+aiRToZszNFihv4Jqwo5K677irW9YMGDeKpp54q8jxjNCbkr7+Kb7e97z5d0fiEzn33waRJ1riUTpqkG8SNGhW/rVinZEnNSh10OrCCYFDu2Wdb16YX8FcgeejR48Tjv//V9w4cyP/9YAnYHTtOfC9UsrKyuOOOO0hOTuaCCy7g4MGDrF69ml69etG5c2fOPPNMli1bBsBzzz3Hq6++CsD8+fNp164d3bp149FHHz1uJbNp0yZ69epFixYteOyxxwB44oknOHjwIB06dOCGG24oUq7KldUjq7jxIBdfDNdcU7w24o1mzXTWunZt8drJzNQb2HnnWSJWXHDmmZpU1KqI/alT9fPMcUyJDXwF4hFWrlzJvffeS3p6OlWqVOGrr75iwIABvP3228yfP59XX32Ve+6554Tr7rnnHoYMGcJvv/1GQp76sKmpqYwZM4bFixczZswY1q9fz+DBgylbtiypqamMHDmySLkqV9bHPXsi/9/GjoXFiyO/Pl654AJ9nDixeO3Mnq35nfz9p9A57zw1Zf3yS/Hbys7WFCbhTCijBd+ElYeC8j9lZGiOosLyQ9WoEXn+qCZNmtChQwcAOnfuzJo1a5g5cyZX53KbOXz48HHX7Nmzh3379nF6IPrp+uuvZ9y4ccfeP/fcc6kc0ABJSUmsXbuWhmFOgUqW1M2/smUj20w/ehT+9jdNlR2CvvLJRevWUL++OiDccUfk7SxcCGXK5Cgkn6Lp2hUqVlTlXdzAv/374ZZb4PzzrZHNS/gKxCOUKVPm2N8JCQls3bqVKlWqkJqaWuA1UsTGRN42MyOsElWcyoETJ6rnj59CPHyMgYsugtGj4fBhVQKRcM89mlurUiVr5YtlSpXSbNRWFH2qWBHeeKP47XgR34TlUSpVqkSTJk344osvAFUWC/NUeqpatSoVKlRgVqD+7OjRo0Nqu1SpUhw9ejQseTZtimwFMmoUVKumKxCf8Ln9dvjPf9QMUhx85RE+nTtbU3Z50SJ7K3y6ia9APMzIkSP58MMPad++PcnJyXz33XcnnPPOO+8wYMAAunXrhogcM1kVxoABA2jXrl1Im+hB9u9XBRLOD2H/fvj2Ww1eK1069Ot8cujaVVNqlC0b2fXvvKOmq4MHrZUrHjh6FJ57Tr/DkbJ3ryqi556zSipv4ZuwPEDjxo1JS0s79vyRRx459vdPP/10wvnP5fo2tm7dmkWLFgEwePBgunTpAkD//v3p37//sfNy7428/PLLvPzyy2HJWKOGpmEYNw6uuCK0axYs0JmzXanJ44Xt2/Um1r+/mlbC4dNP1fwVqQKKZ0qWhGHD9Hsc6nc+L5Mn66QrFvc/wF+BRD0TJkygQ4cOtGnThmnTpvH000/b0k+VKlqK8913Q7/mzDPV9OVnfy0eM2bAgAHhV4hcuRLmzIEwFpo+uTAGLrtM9/EiDcD88Uc1H8ZqBU5fgUQ5V155JampqaSlpfHDDz9Qs2ZNW/oxRjcDQw1s278/AREtnhNLuX/coFcvHcePPw7vus8+07G/7jp75IoH+vbVFdz48eFfm5mpK8fevcNfOUYLvgLxCZkKFdSlMU+4Sb78859tuOoq+2WKBxIT4aab4OuvNVg1FLKy1Pxy9tnQoIG98sUy3btrBuOvvw7/2ilT9PO69lrLxfIMrigQY0w1Y8zPxpiVgcd8C2waYz4yxmwzxqRFcr2PtSQkwJdfak6rwpg8GX7/veqxwkg+xee22+DIEd3TCIXMTHXfDSQg8ImQhARVAKFMmvLSo4eu2Hv1slwsz+DWCuQJYLKItAAmB57nxydAfsMf6vU+NrBhAzz8cP4eWYcOwb33Qu3ahyhmyi6fXLRrp/mZliwJ7fwyZfQz6t3bXrnigbffhhEjwr+uZEmN/o9lBwa3FMjlwLDA38OAfH0cRORXYFek1/vYw4wZ8Prr8Mwzx78uogkAly+Hhx9eTmKiO/LFKj//HFo9+dRU3S+J1dgDt9i4MfRzf/gBHnkk9rMfm6KimW3p1Jg9IlIl1/PdIlKQGasxME5E2uR6LZzrBwADAGrXrt05b7Bd5cqVad68eZEyZ2VlnZBryg3q1q3L5s2bjz0PVa5//etfnHHGGfTs2ZN3332XW2+9lXLlyoXV96pVq/jrr78QgddeO5kffqhHv37ruOWWNSQmZnPwYAK3396Fnj230a/fYip4MHf1vn37ol6uDRvKUrv2IUqVyv+3++ij7VixoiKjRs2ifPksx+RyEqflGj++Dv/5T0tGjpxN3boF59gPyvXII+1Yv74co0bNisj8ZQfFGbOePXvOF5EuJ7whIrYcwCQgLZ/jcmBPnnN3F9JOYyAtz2shX5/76Ny5s+RlyZIlJ7yWH3v37g3pPLspX778cc8jkatRo0ayffv2sK/LPVZHj4oMGCACIqVLi6xbp69v2iSSlSWSkpISdvtOEO1yrV6t4/2vf+X//ldf6Wfy2mvOyuU0Tsu1bp1IiRIiDz9c+HkpKSmyYoV+Bi++6IxsoVKcMQPmST73VNsCCUWkwOTRxpitxpi6IrLZGFMX2BZm88W9Pn/+/ndd/+dD2aysyHbSOnSA//u/At9+/PHHadSo0bFMu8899xwVK1YkOzubzz//nMOHD9OnTx+ef/75464TER577DF++OEHEhISePrpp7k24O7xyiuv8Omnn1KiRAl69+7N4MGD6d+/P5dccgmbNm1i06ZN9OzZkxo1anDjjTeSlpbGG4FkPUOHDmXp0qW8/vrrhf5bJUvC+++rd9D332vNkIYNoW7d8IfIJ3SaNoXLL4fnn9dN2twxNn/+CXfdBZ06qSnRxzoaNlR36CFD4MknoXr1gs8dPFg9526/3Tn53MKtPZCxwC2Bv28BTszRYe/1nqFfv36MGTPm2PPPP/+cmjVrsnLlSubMmUNqairz58/n119/Pe66r7/+mtTUVGbOnMmkSZN49NFH2bx5M+PHj+fbb79l9uzZLFy48FgdkCD3338/9erVIyUlhZSUFPr168fYsWOP5cb6+OOPufXWW0OWv3t3ePllCKOgok8xGTJEC0NdfDF8953uPWVlqWLJzNSsx7Ead+AmTz6p6XkKm1tt3JjIsGGafqZOHedkcwu3UpkMBj43xtwGrAOuBjDG1AM+EJGLAs8/A3oANYwxG4BnReTDgq4vNoWsFA5mZFCxYkVLuslNx44d2bZtG5s2bWL79u1UrVqVRYsWMXHiRDp27Aio7XLlypWcddZZx66bPn061113HQkJCdSuXZuzzz6buXPnMnXq1OP2N6pVq1Zo/+XLl+ecc85h3LhxtG7dmqNHj9K2bVvL/08f66hWTd1DL71UU2wsWAAdO2q+pfr1rckg63Miyclw/fXw0Ufwj39oeYe8lC6dzVVXxY/7tCsKRER2AieUtxGRTcBFuZ7nG0Nb0PXRylVXXcWXX37Jli1b6NevH2vWrOHJJ5/kzjvvLPAaKcD5QUQwYYZ+33777QwaNIhWrVqFtfrwcY9GjWDuXBgzJkdh9O3rrkzxwP/9n6748lMeIlCz5hFCTIodE/iR6B6gX79+jB49mi+//JKrrrqKCy+8kI8++oh9AR/AjRs3sm3b8ds8Z511FmPGjCErK4vt27fz66+/0rVrVy644AI++ugjDgRq0O7adaIXdMWKFcnIyDj2/NRTT2X9+vWMGjWK6/y8F1FDmTJw882xHWfgNWrWhFq1NEnoyy9rrRsRXZX06AG7d8eX7dDPxusBkpOTycjIoH79+tStW5e6deuydOlSunXrBkCFChUYMWIEtWrVOnZNnz59+O233zj99NNJSEjglVdeoU6dOvTq1YvU1FS6dOlC6dKlueiiixg0aNBx/Q0YMIDevXtTt25dUgIZ+q655hpSU1OpWtUP6vfxKYr58+Hpp9VsWLkybN0KPXtCqVLFLNwSbeTnmhWrRyy48ebFKrkuvvhimTRpUqHnhDpWIr77Z7j4coWHF+RavFjkwQdF+vcX+fRTkcxMb8hVEFHlxusTHezZs4euXbvSvn17zj03ZraVfHxsp02bwj2y4gFfgcQ5VapUYcWKFW6L4ePjE4X4m+gU7NHkk4M/Rj4+PnmJewWSmJjIzp07/RtkIYgIO3fuJNHPjujj45OLuDdhNWjQgA0bNrB9+/ZCzzt06JAnb6BOyZWYmEgDvzKRj49PLuJegZQqVYomTZoUed6UKVOORYZ7Ca/K5ePjE/vEvQnLx8fHxycyfAXi4+Pj4xMRvgLx8fHx8YkIVyoSuoUxZjuwNsLLawA7LBTHKny5wsOXKzx8ucLDq3JB8WRrJCI1874YVwqkOBhj5kl+JR1dxpcrPHy5wsOXKzy8KhfYI5tvwvLx8fHxiQhfgfj4+Pj4RISvQELnf24LUAC+XOHhyxUevlzh4VW5wAbZ/D0QHx8fH5+I8FcgPj4+Pj4R4SsQHx8fH5+I8BVICBhjehljlhtjVhljnnBRjobGmBRjzFJjTLox5oHA688ZYzYaY1IDx0UuyLbGGLM40P+8wGvVjDE/G2NWBh4drZdrjGmZa0xSjTF7jTF/d2O8jDEfGWO2GWPScr1W4PgYY54MfN+WG2MudFiu/xhjlhljFhljvjHGVAm83tgYczDXuA1xWK4CPzeXx2tMLpnWGGNSA687OV4F3Rvs/Y7lV6bQP3IOIAFYDTQFSgMLgSSXZKkLdAr8XRFYASQBzwGPuDxOa4AaeV57BXgi8PcTwMsuf45bgEZujBdwFtAJSCtqfAKf6UKgDNAk8P1LcFCuC4CSgb9fziVX49znuTBe+X5ubo9XnvdfA55xYbwKujfY+h3zVyBF0xVYJSJ/iMgRYDRwuRuCiMhmEVkQ+DsDWArUd0OWELkcGBb4exhwhYuynAusFpFIMxEUCxH5FdiV5+WCxudyYLSIHBaRP4FV6PfQEblEZKKIZAaezgIcz+NfwHgVhKvjFcQYY4BrgM/s6LswCrk32Pod8xVI0dQH1ud6vgEP3LSNMY2BjsDswEsDAyaHj5w2FQUQYKIxZr4xZkDgtdoishn0Cw7UckGuIP04/oft9nhBwePjpe/c34DxuZ43Mcb8boyZaow50wV58vvcvDJeZwJbRWRlrtccH6889wZbv2O+Aikak89rrvo+G2MqAF8BfxeRvcB7QDOgA7AZXUY7zRki0gnoDdxrjDnLBRnyxRhTGrgM+CLwkhfGqzA88Z0zxvwDyARGBl7aDJwkIh2Bh4BRxphKDopU0OfmifECruP4SYrj45XPvaHAU/N5Lewx8xVI0WwAGuZ63gDY5JIsGGNKoV+QkSLyNYCIbBWRLBHJBoZi0/K9MERkU+BxG/BNQIatxpi6AbnrAtuclitAb2CBiGwNyOj6eAUoaHxc/84ZY24BLgFukIDRPGDu2Bn4ez5qNz/ZKZkK+dy8MF4lgb7AmOBrTo9XfvcGbP6O+QqkaOYCLYwxTQIz2X7AWDcECdhYPwSWisjruV6vm+u0PkBa3mttlqu8MaZi8G90EzYNHadbAqfdAnznpFy5OG5m6PZ45aKg8RkL/H979xNiUxQHcPz7M6JsiGbBzkwW6oWyk6UFU2ykRKQmJWVH1KyVsiZZKUtW2MpKykLGUKPxZ6OsiKamJjXH4pxXr8kTh3vv0PdTr3ffebfX75173/29ezr9ztGIWBsRW4FtwNO2goqI/cBF4FBKaWGgfTQiRsr2WInrXYtxDTtunfZXsQ+YTSl96De02V/Drg00fY61MUPgX38AE+RZDW+BqQ7j2Eu+zXwBPC+PCeA2MFPa7wGbW45rjDyjYxp41e8jYBPwEJgrzxs76LN1wCdg/UBb6/1FTmAfgW/kf3+TP+sfYKqcb6+BAy3H9YY8Pt4/x26UfQ+X4zsNPAMOthzX0OPWZX+V9lvAmWX7ttlfw64NjZ5jljKRJFVxCEuSVMUEIkmqYgKRJFUxgUiSqphAJElVTCBSQyJiQ0ScLdtbIuJu1zFJf5PTeKWGlJpED1JKvY5DkRqxuusApP/YFWC8rA8xB2xPKfUi4hS5KuoI0CPXdFoDnAAWgYmU0ueIGAeuAaPAAnA6pTTb/teQfswhLKk5l8gl5HcBF5a91wOOkes5XQYWUi669wQ4Wfa5CZxLKe0GzgPXW4la+kXegUjdeJTyug3zEfEVuF/aZ4AdparqHuBOLnME5MV/pBXDBCJ1Y3Fge2ng9RL5d7kK+FLuXqQVySEsqTnz5OVFf1vKazm8j4gjkKutRsTOvxmc9KdMIFJDUl4L4nFEvASuVnzEcWAyIvpVjjtZSlkaxmm8kqQq3oFIkqqYQCRJVUwgkqQqJhBJUhUTiCSpiglEklTFBCJJqvIdBhL+P+l8XqYAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "t, dt, k=0.0, 0.1, 0.01\n", "tt,xx,vv=[0.0],[0.0],[0.01]\n", "for i in range(0,2000):\n", " t += dt\n", " x, v = euler3(xx[-1],vv[-1])\n", " tt.append(t)\n", " xx.append(x)\n", " vv.append(v)\n", "\n", "my_plot(xx, vv, tt)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "62.83185307179586" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1/(np.sqrt(0.01)/2/np.pi)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.1830988654751278" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "200/62.831853 # だいたい3周期になる" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# fft(25点)\n", "\n", "FFTによって周期62.831853のsin関数がどのように変換されるかを調べる.\n", "```python\n", "2*np.pi*(3*62.831853) = 1184\n", "```\n", "であることに注意して,\n", "``` python\n", "def func(x):\n", " return np.sin(x/62.831853)\n", "\n", "x = np.linspace(0, 1184, 1184)\n", "```\n", "をx=0..1184で実空間で表示せよ.\n", "FFTに入れるチャンネル数(通常は256など)が1184+1の場合,\n", "パワースペクトル(spectrum_power, FFTをかけた後の周波数強度)を求めて表示せよ.\n", "パワースペクトルのピーク位置が何を意味するかを述べよ." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "188.49555900000001" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3*62.831853" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1184.3525267774028" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2*np.pi*188.495559" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.fft import fft\n", "\n", "def func(x):\n", " return np.sin(x/62.831853)\n", "\n", "\n", "x = np.linspace(0, 1184, 1184)\n", "#x = np.linspace(0, 256, 256)\n", "\n", "\n", "plt.plot(x, func(x), color = 'b')\n", "\n", "plt.grid()\n", "plt.show()\n", "\n", "yy = func(x)\n", "out = fft(yy)\n", "\n", "def spectrum_power(x):\n", " re, im = x.real, x.imag\n", " return np.sqrt(re**2+im**2)\n", "\n", "plt.plot(x,spectrum_power(out))\n", "plt.xlim(0,5)\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# 波の数" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "181.27499389648438px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 4 }