" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 補間法\n", "次の4点\n", "maple\n", "x y \n", "0 1 \n", "1 2\n", "2 3\n", "3 1\n", "\n", "を通る多項式を(a)ラグランジュ補間, (b) 逆行列で求めよ．" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ラグランジュ補間" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 3 2\n", "-0.5 x + 1.5 x + 2.776e-16 x + 1\n" ] }, { "data": { "image/png": "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\nxml5AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy import interpolate\n", "import matplotlib.pyplot as plt\n", "\n", "# もとの点\n", "x = np.array([0,1,2,3])\n", "y = np.array([1,2,3,1])\n", "for i in range(0,4):\n", " plt.plot(x[i],y[i],'o',color='r')\n", "\n", "\n", "# Lagrange補間\n", "f = interpolate.lagrange(x,y)\n", "print(f)\n", "x = np.linspace(0,3, 100)\n", "y = f(x)\n", "plt.plot(x, y, color = 'b')\n", "\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 逆行列から" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array([[ 1., 0., 0., 0.],\n", " [ 1., 1., 1., 1.],\n", " [ 1., 2., 4., 8.],\n", " [ 1., 3., 9., 27.]])\n", "array([ 1., 2., 3., 1.])\n" ] } ], "source": [ "from pprint import pprint\n", "\n", "x = np.array([0,1,2,3])\n", "y = np.array([1,2,3,1])\n", "n = 4\n", "A = np.zeros((n,n))\n", "b = np.zeros(n)\n", "for i in range(0,n):\n", " for j in range(0,n):\n", " A[i,j] += x[i]**j\n", " b[i] = y[i]\n", "pprint(A)\n", "pprint(b)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "array([[ 1. , 0. , 0. , -0. ],\n", " [-1.83333333, 3. , -1.5 , 0.33333333],\n", " [ 1. , -2.5 , 2. , -0.5 ],\n", " [-0.16666667, 0.5 , -0.5 , 0.16666667]])\n" ] }, { "data": { "text/plain": [ "array([ 1.00000000e+00, -9.99200722e-16, 1.50000000e+00,\n", " -5.00000000e-01])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import scipy.linalg as linalg # SciPy Linear Algebra Library\n", "\n", "inv_A = linalg.inv(A)\n", "pprint(inv_A)\n", "np.dot(inv_A,b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 対数関数のニュートンの差分商補間(2014期末試験，25点) \n", "\n", "2を底とする対数関数(Mapleでは$\\log[2](x)$)の$F(9.2)=2.219203$をニュートンの差分商補間を用いて求める．ニュートンの内挿公式は，\n", "\n", "$$\n", "\\begin{array}{rc}\n", "F (x )&=F (x _{0})+\n", "(x -x _{0})f _{1}\\lfloor x_0,x_1\\rfloor+\n", "(x -x _{0})(x -x _{1})\n", "f _{2}\\lfloor x_0,x_1,x_2\\rfloor + \\\\\n", "& \\cdots + \\prod_{i=0}^{n-1} (x-x_i) \\, \n", "f_n \\lfloor x_0,x_1,\\cdots,x_n \\rfloor\n", "\\end{array}\n", "$$\n", "である．ここで$f_i \\lfloor\\, \\rfloor$ は次のような関数を意味していて，\n", "$$\n", "\\begin{array}{rc}\n", "f _{1}\\lfloor x_0,x_1\\rfloor &=& \\frac{y_1-y_0}{x_1-x_0} \\\\\n", "f _{2}\\lfloor x_0,x_1,x_2\\rfloor &=& \\frac{f _{1}\\lfloor x_1,x_2\\rfloor-\n", "f _{1}\\lfloor x_0,x_1\\rfloor}{x_2-x_0} \\\\\n", "\\vdots & \\\\\n", "f _{n}\\lfloor x_0,x_1,\\cdots,x_n\\rfloor &=& \\frac{f_{n-1}\\lfloor x_1,x_2\\cdots,x_{n}\\rfloor-\n", "f _{n-1}\\lfloor x_0,x_1,\\cdots,x_{n-1}\\rfloor}{x_n-x_0} \n", "\\end{array}\n", "$$\n", "差分商と呼ばれる．$x_k=8.0,9.0,10.0,11.0$をそれぞれ選ぶと，差分商補間のそれぞれの項は以下の通りとなる．\n", "\n", "$$\n", "\\begin{array}{ccl|lll}\n", "\\hline\n", "k & x_k & y_k=F_0( x_k) &f_1\\lfloor x_k,x_{k+1}\\rfloor & f_2\\lfloor x_k,x_{k+1},x_{k+2}\\rfloor & f_3\\lfloor x_k,x_{k+1},x_{k+2},x_{k+3}\\rfloor \\\\\n", "\\hline\n", "0 & 8.0 & 2.079442 & & &\\\\\n", "& & & 0.117783 & &\\\\ \n", "1 & 9.0 & 2.197225 & & [ XXX ] &\\\\\n", "& & & 0.105360 & & 0.0003955000 \\\\\n", "2 & 10.0 & 2.302585 & & -0.0050250 &\\\\ \n", "& & & 0.095310 & &\\\\ \n", "3 & 11.0 & 2.397895 & & &\\\\ \n", "\\hline\n", "\\end{array}\n", "$$\n", "それぞれの項は，例えば，\n", "\n", "$$\n", "f_2\\lfloor x_1,x_2,x_3 \\rfloor =\\frac{0.095310-0.105360}{11.0-9.0}=-0.0050250\n", "$$\n", "で求められる．ニュートンの差分商の一次多項式の値はx=9.2で\n", "\n", "$$\n", "F(x)=F_0(8.0)+(x-x_0)f_1\\lfloor x_0,x_1\\rfloor =2.079442+0.117783(9.2-8.0)=2.220782\n", "$$\n", "となる．\n", "\n", "### 差分商補間の表中の開いている箇所[ XXX ]を埋めよ．\n", "### ニュートンの二次多項式\n", "\n", "$$\n", "F (x )=F (x _{0})+(x -x _{0})f _{1}\\lfloor x_0,x_1\\rfloor+(x -x _{0})(x -x _{1})\n", "f _{2}\\lfloor x_0,x_1,x_2\\rfloor\n", "$$\n", "の値を求めよ．\n", "### ニュートンの三次多項式の値を求めよ．\n", "ただし，ここでは有効数字7桁程度はとるように．(E.クライツィグ著「数値解析」(培風館,2003), p.31, 例4改)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.2192034840549946" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.log(9.2)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.005024999999999995\n", "-0.006211500000000002\n" ] } ], "source": [ "x_3 = 11\n", "x_1 = 9\n", "f1_23 = 0.095310\n", "f1_12 = 0.105360\n", "f2_123 = (f1_32-f1_21)/(x_3-x_1)\n", "print(f2_123)\n", "f1_01 = 0.117783\n", "x_0 = 8\n", "x_2 = 10\n", "f2_012 = (f1_12-f1_01)/(x_2-x_0)\n", "print((0.105360-0.117783)/(10-8))" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.2192908399999998" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = 9.2\n", "F_0 = 2.079442\n", "F_0 + (x-x_0)*(f1_01)+(x-x_0)*(x-x_1)*f2_012" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.2192149039999998" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f3_0123 = 0.0003955000\n", "F_0 + (x-x_0)*(f1_01)+(x-x_0)*(x-x_1)*f2_012+(x-x_0)*(x-x_1)*(x-x_2)*f3_0123" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 補足\n", "\n", "テキストに紹介したコードによって求められるNewton差分商補間の様子を以下に示しておく．" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# https://stackoverflow.com/questions/14823891/newton-s-interpolating-polynomial-python\n", "# by Khalil Al Hooti (stackoverflow)\n", "\n", "\n", "def _poly_newton_coefficient(x,y):\n", " \"\"\"\n", " x: list or np array contanining x data points\n", " y: list or np array contanining y data points\n", " \"\"\"\n", "\n", " m = len(x)\n", "\n", " x = np.copy(x)\n", " a = np.copy(y)\n", " for k in range(1,m):\n", " a[k:m] = (a[k:m] - a[k-1])/(x[k:m] - x[k-1])\n", "\n", " return a\n", "\n", "def newton_polynomial(x_data, y_data, x):\n", " \"\"\"\n", " x_data: data points at x\n", " y_data: data points at y\n", " x: evaluation point(s)\n", " \"\"\"\n", " a = _poly_newton_coefficient(x_data, y_data)\n", " n = len(x_data) - 1 # Degree of polynomial\n", " p = a[n]\n", " for k in range(1,n+1):\n", " p = a[n-k] + (x -x_data[n-k])*p\n", " return p" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 4. -6. 3.4]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAHqBJREFUeJzt3Xuc1mP+x/HXp5MOo6IYbakQ6USZWGS3A3YTW+3+QrbIMce0cpYzWavEOqxDrO2xRiMpkrY2NYUVmWgrOtGBtggpTefD9fvjuiNUc889c9/XfX/v9/PxuB8z9z33Pff7kvnMNdf3OphzDhERyXwVQgcQEZHyoYIuIhIRKugiIhGhgi4iEhEq6CIiEaGCLiISESroIiIRoYIuIhIRKugiIhFRKZVvVrduXde4ceOEXrt+/Xpq1KhRvoHSnNqcHdTm7FCWNs+cOfNr59wBJT0vpQW9cePGFBUVJfTaqVOn0qFDh/INlObU5uygNmeHsrTZzJbF8zwNuYiIRIQKuohIRKigi4hEhAq6iEhEqKCLiESECrqISESooIuIRIQKuohIEm3cCP37w6pV+yT9vVTQRUSS6OGH4ZFHYMWKakl/LxV0EZEk+fJLuO8+6NYNWrdek/T3U0EXEUmSO+6ATZvggQdS834q6CIiSTB3LgwbBldeCUcckZr3VEEXEUmC666DmjXh9ttT955xF3Qzq2hmH5rZuNj9/c1skpktin3cL3kxRUQyx4QJMHGiL+b775+69y1ND70/MG+X+zcBk51zhwOTY/dFRLLatm0wYAA0aeKHW1IproJuZg2A04Fndnm4GzA89vlwoHv5RhMRyTxPPQXz5sGQIVClSmrfO94e+sPADcCOXR7Ldc6tjH3+BZBbnsFERDLNt9/6YZZOnaBr19S/vznn9v4EszOALs65K8ysA3Cdc+4MM1vjnKu9y/O+dc79bBzdzPoCfQFyc3PzCgoKEgpaXFxMTk5OQq/NVGpzdlCbo+Pxxw/j5Zcb8PTTRTRpsv5HXytLmzt27DjTOde2xCc65/Z6A/4MLAeW4nviG4DngQVAvdhz6gELSvpeeXl5LlGFhYUJvzZTqc3ZQW2OhvnznatUyblLLtn918vSZqDIlVBfnXMlD7k45252zjVwzjUGegJTnHO9gbFAn9jT+gCvluY3johIlFx7LVSrBvfcEy5DWQ6Jvh8YaWYXAcuAs8onkohIZpkwAV5/3a8IzQ14NbFUBd05NxWYGvv8G+Dk8o8kIpI5tm6Fa67x0xSvvjpslrL00EVEst7f/gbz58PYsbBP8nfI3Sst/RcRSdDXX8Odd8JvfgNnnBE6jQq6iEjCbrsN1q2Dhx4Cs9BpVNBFRBIya5ZfFXrVVdC8eeg0ngq6iEgpOecvgNap44dc0oUuioqIlNKLL8Jbb/n9zmvXLvn5qaIeuohIKaxf7/c6z8uDCy4InebH1EMXESmF++6D//0PRo6EihVDp/kx9dBFROK0aJHfFvfcc+HEE0On+TkVdBGRODgH/fv7xUN/+UvoNLunIRcRkTiMGwf/+hcMHQr16oVOs3vqoYuIlGDjRt87b97czztPV+qhi4iUYPBgWLIEJk+GypVDp9kz9dBFRPZi8WL485/hrLP80XLpTAVdRGQv+vf30xOHDg2dpGQachER2YPXXvMXQwcPhvr1Q6cpmXroIiK7sWGD36+leXPfS88E6qGLiOzG/ffD0qVQWJjeF0J3pR66iMhPLFzoFw/98Y/QoUPoNPFTQRcR2YVzcMUVUK0aPPhg6DSloyEXEZFdFBT4+eaPPQYHHRQ6Temohy4iErN2LQwYAG3bwmWXhU5Teuqhi4jE3HorfPmln66YblvjxkM9dBER4P334fHH/fh527ah0yRGBV1Est62bXDppX7MfNCg0GkSpyEXEcl6jz0GH37oTyGqVSt0msSphy4iWW35crjtNjjtNOjRI3SaslFBF5GsdvXVsH27Hz83C52mbDTkIiJZ65VXYMwYv8z/kENCpyk79dBFJCt9950/feioo/zc8yhQD11EstLAgbBiBYwenTmbb5VEPXQRyTrvvuvHzPv1g+OOC52m/Kigi0hW2bIF+vb1B1bce2/oNOVLQy4iklUGD4Y5c+DVV2HffUOnKV/qoYtI1pg/H+6+2x/43LVr6DTlTwVdRLLCjh1wySVQowY88kjoNMlRYkE3s6pmNsPM/mtmH5nZXbHH9zezSWa2KPZxv+THFRFJzNNPw9tvw9ChkJsbOk1yxNND3wx0cs4dDbQGOpvZ8cBNwGTn3OHA5Nh9EZG08/nncMMNcPLJ0KdP6DTJU2JBd15x7G7l2M0B3YDhsceHA92TklBEpAyc84dVbN8Ow4Zl/vL+vYlrDN3MKprZLGAVMMk59x6Q65xbGXvKF0BE/4gRkUyWnw/jx8N990Vjef/emHMu/ieb1QbGAP2At51ztXf52rfOuZ+No5tZX6AvQG5ubl5BQUFCQYuLi8nJyUnotZlKbc4OanPyrF5dmQsuOI6DD97AX//6YdBTiMrS5o4dO850zpV87IZzrlQ34HbgOmABUC/2WD1gQUmvzcvLc4kqLCxM+LWZSm3ODmpz8vTo4VyVKs59/HFK3m6vytJmoMjFUZ/jmeVyQKxnjplVA04F5gNjgZ2XF/oAr5b2t46ISLKMGuVvd9wBzZqFTpMa8awUrQcMN7OK+DH3kc65cWY2HRhpZhcBy4CzkphTRCRuX3/tzwbNy/OzW7JFiQXdOTcbaLObx78BTk5GKBGRsujXD9asgcmToVIWbXCSRU0VkWwwejQUFMA990CrVqHTpJaW/otIZHzzjR9qadMGbrwxdJrUUw9dRCLjyith9WqYODE6h1aUhgq6iETCSy/Biy/6oZajjw6dJgwNuYhIxlu1yg+1tG0LN2XxrlIq6CKS0Xbu1bJuHQwfnl2zWn4qi5suIlGQnw9jxsADD0Dz5qHThKUeuohkrOXL4aqroF07GDAgdJrwVNBFJCM5BxdeCNu2+aGWkBtvpQsNuYhIRnriCZg0CZ58Eg47LHSa9KAeuohknEWL4PrroXNn6Ns3dJr0oYIuIhll61bo3Rv22QeefTbaJxCVloZcRCSjDBoEM2bAyJHwi1+ETpNe1EMXkYzx3ntw771w7rlw5pmh06QfFXQRyQjr1/uhlgYN4NFHQ6dJTxpyEZGMcM018OmnUFgItWqFTpOe1EMXkbQ3ZgwMG+a3xG3fPnSa9KWCLiJpbcUKuPhif5zcXXeFTpPeVNBFJG3t2AF9+sCmTX7PlipVQidKbxpDF5G0NXQovPEGPPUUNG0aOk36Uw9dRNLSzJlwyy3QvTtccknoNJlBBV1E0k5xMZxzDuTmajVoaWjIRUTSTr9+8Mknfori/vuHTpM51EMXkbQyYgT84x8wcKCmKJaWCrqIpI1PPoFLL4UTT4Q77gidJvOooItIWti8GXr29GeCjhiR3WeDJkr/yUQkLdx8s5/ZMmYMNGwYOk1mUg9dRIIbNw4eesifD9q9e+g0mUsFXUSC+uwzvxq0dWsYPDh0msymgi4iwWzd6sfNt26Fl16CqlVDJ8psGkMXkWBuuQWmT4cXX4QmTUKnyXzqoYtIEK+9BkOGwBVXwFlnhU4TDSroIpJyK1dW5bzzoE0bePDB0GmiQwVdRFJq82a4884WOAejRmncvDxpDF1EUuqaa2Dhwn159VU49NDQaaKlxB66mR1sZoVm9rGZfWRm/WOP729mk8xsUezjfsmPKyKZLD8fnngCzj77M7p2DZ0meuIZctkGXOucaw4cD1xpZs2Bm4DJzrnDgcmx+yIiuzVnDvTtC7/6FVx88ZLQcSKpxILunFvpnPsg9vk6YB5QH+gGDI89bTig9V0isltr18If/gA1a/opipUqudCRIqlUF0XNrDHQBngPyHXOrYx96Qsgt1yTiUgk7DwXdOlSv3ioXr3QiaLLnIvvN6WZ5QDTgEHOudFmtsY5V3uXr3/rnPvZOLqZ9QX6AuTm5uYVFBQkFLS4uJicnJyEXpup1ObsEPU2v/BCQ4YNO5Qrr1xEjx7/A6Lf5t0pS5s7duw40znXtsQnOudKvAGVgYnAgF0eWwDUi31eD1hQ0vfJy8tziSosLEz4tZlKbc4OUW7zxInOVajgXM+ezu3Y8cPjUW7znpSlzUCRi6NWxzPLxYBngXnOuaG7fGks0Cf2eR/g1Xh/24hI9C1e7PdpadECnnlG54KmQjzz0NsB5wJzzGxW7LFbgPuBkWZ2EbAM0OJdEQFg/Xr4/e/BOb+/eY0aoRNlhxILunPubWBPv1tPLt84IpLpnINLLvHTFMePh8MOC50oe2ilqIiUqyFD/BFygwZB586h02QX7eUiIuVmwgS48UY480x/pJyklgq6iJSLhQv9RdCjjoLnntNF0BBU0EWkzNauhW7doHJleOUVXQQNRWPoIlIm27bB2WfDJ5/AG29A48ahE2UvFXQRKZPrr4eJE+Hpp6F9+9BpspuGXEQkYc88Aw8/DP37+6mKEpYKuogkZNo0fx7ob37jpypKeCroIlJqixb57XCbNNm5HW7oRAIq6CJSSqtXw+mnQ4UKMG4c1K5d8mskNfR7VUTitmUL9OgBy5bBlCk6EzTdqKCLSFyc80fIFRbCP/8J7dqFTiQ/pSEXEYnLvffC8OFw553Qu3foNLI7KugiUqLnn4fbb4fzzvMfJT2poIvIXk2dChdeCB06wLBh2qMlnamgi8gezZ0L3bvD4YfD6NFQpUroRLI3KugislvLl8Npp0H16vCvf8F+PzsCXtKNZrmIyM+sXQtduviPb70FDRuGTiTxUEEXkR/ZtMlvhTt/vj9C7uijQyeSeKmgi8j3tm/3UxKnTYMXXoBTTgmdSEpDY+giAviFQ/36wcsvw9ChcM45oRNJaamgiwgAd90FTzwBN9wA11wTOo0kQgVdRHj0UV/Qzz8f7r8/dBpJlAq6SJbLz4err/bzzbVwKLOpoItksXHjfK+8Y0cYMUL7mmc6FXSRLDVlit8Kt3VreOUVqFo1dCIpKxV0kSw0fTp07eqX9E+YADVrhk4k5UEFXSTLzJrlV4HWqwf//jfUqRM6kZQXFXSRLDJ3rl8slJMDb7zhi7pEhwq6SJZYsMAX8ypV/Ph5o0ahE0l5U0EXyQKLF8PJJ/vVoJMn+7FziR5NUhKJuMWL/eEUGzf6wyqaNQudSJJFPXSRCFuyxM8xX7/e98xbtQqdSJJJPXSRiFq61Bfzdet8MW/dOnQiSTb10EUiaPFiaN8evvvOz2Zp0yZ0IkkFFXSRiFm0yBfzncMsxxwTOpGkSokF3cz+bmarzGzuLo/tb2aTzGxR7KNOGxRJA/Pn+2K+aZOfmqieeXaJp4f+D6DzTx67CZjsnDscmBy7LyIBzZ7ti/n27X42y1FHhU4kqVZiQXfOvQms/snD3YDhsc+HA93LOZeIlML77/upiZUrw5tvQosWoRNJCOacK/lJZo2Bcc65lrH7a5xztWOfG/Dtzvu7eW1foC9Abm5uXkFBQUJBi4uLycnJSei1mUptzg5lbfPs2bW4+eZW1Kq1lQcf/C/16m0qx3TJoX/n0unYseNM51zbEp/onCvxBjQG5u5yf81Pvv5tPN8nLy/PJaqwsDDh12YqtTk7lKXNr7/uXLVqzjVt6tzy5eWXKdn071w6QJGLo8YmOsvlSzOrBxD7uCrB7yMiCSoogG7d4Mgj/TBL/fqhE0loiRb0sUCf2Od9gFfLJ46IxOPJJ+GPf4QTT4TCQjjwwNCJJB3EM21xBDAdaGpmy83sIuB+4FQzWwScErsvIknmHNx9N1x+ud/TfMIEqFUrdCpJFyUu/XfOnbOHL51czllEZC+2b4d+/eCJJ6BPH3+gc+XKoVNJOtFKUZEMsHEjnH22L+Y33gjPPadiLj+nzblE0tw33/iLn++8Aw89BH/6U+hEkq5U0EXS2JIlcNppfufEkSOhR4/QiSSdqaCLpKn33oOuXWHbNr9j4kknhU4k6U5j6CJpaNQov5Q/Jwf+8x8Vc4mPCrpIGnEO/vIXOPNMv+3tu+/6hUMi8dCQi0ia2LwZLr0Uhg+Hnj39TJaqVUOnkkyiHrpIGvjyS39c3PDhfuHQCy+omEvpqYcuEtjChTn06QNffQUvvaSZLJI4FXSRgPLzoV+/NuTmwttv67g4KRsNuYgEsG0bXHcd9O4NRx65jqIiFXMpO/XQRVJs1Sp/0bOwEK64An7/+/9y4IHtQ8eSCFAPXSSF3n3X98SnT/ezWB5/HCpVKvnUMJF4qKCLpIBz8Oij8OtfQ5UqvqCff37oVBI1KugiSbZ2LZx1Flx9Nfz2tzBzJrRuHTqVRJEKukgSffAB5OXBmDEweDCMHQv77Rc6lUSVCrpIEjjnt7o9/ni/AnTaND+rxSx0MokyzXIRKWerVsEFF8D48X4f82efhTp1QqeSbJD+PfT8fGjcmPadOkHjxv6+SJoaPx5atYLJk+Gxx/xQi4q5pEp699Dz86FvX9iwAQNYtszfB+jVK2QykR/ZsAGuvx7+9jdf0N94w38USaX07qEPHAgbNvBPenM+z7GGWv4nZ+DA0MlEvvfuu9CmjS/mAwbAjBkq5hJGehf0zz4DYCX1eJ7etGQuE/jt94+LhLR5M9xyC7RrB5s2+WGWBx/ULokSTnoX9IYNAbiBwUznBGqxltOYwCU18lm7NnA2yWozZvjpiH/+s78AOmcOdOoUOpVku/Qu6IMGQfXqABxLETPJ44ZKQ/n7+rNp3tzP6RVJpY0b4YYb4IQT/IKh11+HZ56BmjVDJxNJ94Leqxc8/TQ0aoQzo2qjg/jLP3J5b0YF6tTxU8J69oQvvggdVLLBzgudgwfDxRfD3LnQpUvoVCI/SO+CDr6oL13KtClTYOlS6NWLtm2hqMif7DJmjD9z8amnYMeO0GElir76Cs47D0491S8MmjzZ//9Wq1boZCI/lv4FfQ+qVIHbboPZs/3udZdd5k9GnzUrdDKJiu3bfeFu2hQKCuDWWzVWLuktYwv6Tk2b+h7T8OGwaJG/UNWvH6xZEzqZZLKiIj9OftllcNRRvqNwzz2awSLpLeMLOvg/g887DxYuhMsv9/OBjzgChg3zvSyReH3xBVx0ERx3nJ8d+/zz/iCK5s1DJxMpWSQK+k777eeXWxcV+YLet6/vsU+dGjqZpLtNm/zFziOOgH/+E669FhYs8JdwtKGWZIpIFfSd2rSBt96CF1+Eb7+Fjh2he3eYPz90Mkk3zvnx8WbN/HTEX//az14ZPFgXPSXzRLKgg+9VnXWWL+L33QdTpkDLln5MdOXK0OkkHUyZAr/8JZxzji/ekybBuHG+ly6SiSJb0HeqVg1uvhk+/dQfyPvss3DYYXDjjfDNN6HTSQhFRX4K4skn+zHz557zpwidckroZCJlE/mCvtMBB8Ajj/ge+//9n/+T+tBD4Y47/LCMRN8HH0DXrnDssX7WykMP+Qvp558PFSuGTidSdllT0Hc67DB/0Wv2bN8ju/tuv8367bfD6tWh00kyFBX5ayh5ef7ayj33+L/Y/vQnTUOUaClTQTezzma2wMw+MbObyitUKrRsCS+/7Htqp5zif8gbNfLHhK1YETqdlJVz8Oab/lDmY4/1R8DdeadfbHzrrdp7RaIp4YJuZhWBx4HTgObAOWaWcbN1jz7aF/bZs/2f4w89BIcc4vfq+Pjj0OmktLZvh1Gj/KKg9u39L+z77/dno9xxh2auSLSVpYd+HPCJc26xc24LUAB0K59YqdeqlT8gadEiuPBC/3mLFn7zpX//2/f4JH2tXQsPP+xnqJx5Jnz9tV+TsGSJvwCuHrlkg7IU9PrA57vcXx57LKMdeig88QR8/rkfhvngA/9ne7Nm8Oij8N13oRPKrj76CK66CurXh2uugdxc30NfsACuvPL73ZdFsoK5BLueZtYD6Oycuzh2/1zgl865q37yvL5AX4Dc3Ny8goKChN6vuLiYnJychF5bFlu2GNOmHciYMfWZN68mVatup1OnVZxxxgqOPHJdUlcRhmpzSPG0ecuWCkybVpfXXvsFc+bUpnLlHXTsuIo//OF/NG26LkVJy4/+nbNDWdrcsWPHmc65tiU+0TmX0A04AZi4y/2bgZv39pq8vDyXqMLCwoRfW17ef9+5iy92rkYN58C5Vq2cGzLEuZUrk/N+6dDmVNtTm3fscG7GDOcuv9y52rX9f/8mTZx74AHnVq1Kbcbypn/n7FCWNgNFLo66XJYhl/eBw83sEDOrAvQEIn2GUNu2fsOvFSvgySf9n/PXXQcNGsDpp/uNnNZlXgcxPeTnQ+PGtO/Uyc8jzc8H/PTCe+7xm2Mdd5xfBHT66f6wiQUL4Prr/RoDEYFKib7QObfNzK4CJgIVgb875z4qt2RprGZNuPRSf5s3z2/d+8ILMH68X5l6xhl+8VKXLrDvvqHTZoD8fL+T2oYNGLB4WQVGXTCPUbd/zfuL6wJ+xsqAAX47B81UEdm9hAs6gHNuPDC+nLJkpGbN/LS4++6Dd96BESP8RbmXXoJ99vFLzH/3O9+rrJ/xl4yTY8ctt/LBhmaMpStj6cp/aQ1b4djls3jggbr07AkHHxw6pUj6K1NBlx9UqOBPTDrpJL/FwDvvwOjR/oi8ceP8c9q08TNmTj0V2rXzBT9brVrlN8OaOBH+/dl0vuQgKrCdk3ibIVxLD0bRaOvncL3OFRSJlwp6ElSsCL/6lb8NHeoXKI0b50+IHzLE9+irVYMTT/RDCe3b+9WM1arFvkF+PgwcSPvPPoOGDWHQIL8xdwZbuRL+8x+/YrOw0E83BKhbF35T/V06b3iZLoynDrvsv9CwUZiwIhlKBT3JzPwCpRYt/AKXdev8gRuTJvnidvvt/nmVKvke/An7zaft1EKO2VKDIzEqLlvmx5chY4p6cTF8+KHfQ6WoCKZP9wt8wF9IPukk6N3b73aYlwcVRqyHvqNhw4Yfvkn16v4XmYjETQU9xfbd14+p/+53/v7q1fD2277oTZ8Oz0xqyCPuGQCqsYGWzKXlhrm07LeYI/eDww/3k0AqVw7Xhp2Ki/1uhfPn+xknc+b4LRQ+/fSH5zRo4Pcc79fP/0XSpo0/4PtHdv6iGjgQ99lnWET+KhFJNRX0wPbf3+8h07Wrv7/NarGAI/iAY5hJHnNpyXi68Ny3B8Hp/jmVKvmRmEaNfHGvXx/q1fO3Aw+EOnX8961dezfFswQ7dsD69X4p/Tff+CX0q1b5qZorVsDy5X6DqyVL4KuvfnhdhQr+l80xx0CfPv5jXh4cdFCcb9yrF/TqxbSpU+nQoUPpQosIoIKedio1qk+LZR/Tgo85l+e/f/zrBq1Z+OKHLFzoe8VLlvgNpyZO9Ic07NjDtcPKlSEnx4/PV6ni71eq5Pemcc5vZrV5s79t3Oh73XtaPFy9uv/l0aiR3472kEP83ilNm0KTJtqKViQ0FfR0M2jQ93Oyv1e9OnXvv466J/phi5/avt33lleu9B9Xr/a967VrfYEuLvbfbutW2LIFtm3zY/tm/gLuPvv4W9Wqfo79ztsBB/iLlnXrwi9+4R/Tgcki6UsFPd0kMJ5csaIf2oh7eENEIinrTizKCL16wdKlTJsyxQ9Y6+KgiMRBBV1EJCJU0EVEIkIFXUQkIlTQRUQiQgVdRCQiVNBFRCJCBV1EJCISPiQ6oTcz+wpYluDL6wJfl2OcTKA2Zwe1OTuUpc2NnHMlHraY0oJeFmZW5OI59TpC1ObsoDZnh1S0WUMuIiIRoYIuIhIRmVTQnw4dIAC1OTuozdkh6W3OmDF0ERHZu0zqoYuIyF5kVEE3szPN7CMz22Fmkb1CbmadzWyBmX1iZjeFzpMKZvZ3M1tlZnNDZ0kFMzvYzArN7OPY/9P9Q2dKNjOramYzzOy/sTbfFTpTqphZRTP70MzGJfN9MqqgA3OBPwBvhg6SLGZWEXgcOA1oDpxjZs3DpkqJfwCdQ4dIoW3Atc655sDxwJVZ8O+8GejknDsaaA10NrPjA2dKlf7AvGS/SUYVdOfcPOfcgtA5kuw44BPn3GLn3BagAOgWOFPSOefeBFaHzpEqzrmVzrkPYp+vw/+w1w+bKrmcVxy7Wzl2i/xFPDNrgD/i/Zlkv1dGFfQsUR/4fJf7y4n4D3q2M7PGQBvgvbBJki829DALWAVMcs5Fvs3Aw8ANwB6Oci8/aVfQzewNM5u7m1vke6mSfcwsB3gZ+JNz7rvQeZLNObfdOdcaaAAcZ2YtQ2dKJjM7A1jlnJuZivdLu0OinXOnhM4Q2P+Ag3e53yD2mESMmVXGF/N859zo0HlSyTm3xswK8ddNonwhvB3Q1cy6AFWBmmb2vHOudzLeLO166ML7wOFmdoiZVQF6AmMDZ5JyZmYGPAvMc84NDZ0nFczsADOrHfu8GnAqMD9squRyzt3snGvgnGuM/1mekqxiDhlW0M3s92a2HDgBeN3MJobOVN6cc9uAq4CJ+AtlI51zH4VNlXxmNgKYDjQ1s+VmdlHoTEnWDjgX6GRms2K3LqFDJVk9oNDMZuM7LpOcc0mdxpdttFJURCQiMqqHLiIie6aCLiISESroIiIRoYIuIhIRKugiIhGhgi4iEhEq6CIiEaGCLiISEf8PJnT3/CQVXecAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy import interpolate\n", "import matplotlib.pyplot as plt\n", "\n", "x = [-1, 0, 1]\n", "y = [4., -2., -1.2]\n", "\n", "for i in range(0,3):\n", " plt.plot(x[i],y[i],'o',color='r')\n", "\n", "\n", "print(_poly_newton_coefficient(x,y))\n", "\n", "xx = np.linspace(-1,4, 100)\n", "yy = newton_polynomial(x, y, xx)\n", "plt.plot(xx, yy, color = 'b')\n", "\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 4. -6. 3.4]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = [-1, 0, 1]\n", "y = [4., -2., -1.2]\n", "\n", "for i in range(0,3):\n", " plt.plot(x[i],y[i],'o',color='r')\n", "\n", "\n", "print(_poly_newton_coefficient(x,y))\n", "\n", "xx = np.linspace(-1,4, 100)\n", "yy = newton_polynomial(x, y, xx)\n", "plt.plot(xx, yy, color = 'b')\n", "\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 数値積分(I)\n", "次の関数\n", "\n", "$$\n", "f(x) = \\frac{4}{1+x^2}\n", "$$\n", "を$x = 0..1$で数値積分する．\n", "1. $N$を2,4,8,…256ととり，$N$個の等間隔な区間にわけて中点法で求めよ．(15)\n", "1. 小数点以下10桁まで求めた値3.141592654との差をdXとする．dXと分割数Nとを両対数プロット(loglogplot)して比較せよ(10)\n", "(2008年度期末試験）" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "\n", "def func(x):\n", " return 4.0/(1.0+x**2)\n", "\n", "def mid(N):\n", " x0, xn = 0.0, 1.0\n", "\n", " h = (xn-x0)/N\n", " S = 0.0\n", " for i in range(0, N):\n", " xi = x0 + (i+0.5)*h\n", " dS = h * func(xi)\n", " S = S + dS\n", " return S\n", "\n", "def trape(N):\n", " x0, xn = 0.0, 1.0\n", "\n", " h = (xn-x0)/N\n", " S = func(x0)/2.0\n", " for i in range(1, N):\n", " xi = x0 + i*h\n", " dS = func(xi)\n", " S = S + dS\n", " S = S + func(xn)/2.0\n", " return h*S\n", "\n", "x, y = [], []\n", "for i in range(1,8):\n", " x.append(2**i)\n", " y.append(abs(mid(2**i)-np.pi))\n", "\n", "x2, y2 = [], []\n", "for i in range(1,8):\n", " x2.append(2**i)\n", " y2.append(abs(trape(2**i)-np.pi))\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.plot(x, y, color = 'r')\n", "plt.plot(x2, y2, color = 'b')\n", "plt.yscale('log')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, y, color = 'r')\n", "plt.plot(x2, y2, color = 'b')\n", "plt.yscale('log')\n", "plt.xscale('log')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "colors": { "hover_highlight": "#DAA520", "navigate_num": "#000000", "navigate_text": "#333333", "running_highlight": "#FF0000", "selected_highlight": "#FFD700", "sidebar_border": "#EEEEEE", "wrapper_background": "#FFFFFF" }, "moveMenuLeft": true, "nav_menu": { "height": "174px", "width": "252px" }, "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 4, "toc_cell": true, "toc_section_display": "block", "toc_window_display": true, "widenNotebook": false } }, "nbformat": 4, "nbformat_minor": 2 }