{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " 2020年度 数式処理演習 pre試験問題 \n", "
\n", "
\n", " cc by Shigeto R. Nishitani, 2020/11/19 実施 \n", "
\n", "\n", "* file: ~/symboic_math/exams/20_pre_ans.ipynb\n", "\n", "# 線形代数\n", "## 基底,次元,成分(15点)\n", "$\\boldsymbol{R}^3$において\n", "$a_1=(2,-1,0)$,\n", "$a_2=(1,0,1)$,\n", "$a_3=(1,2,-2)$は基底をなす.\n", "$a=(-4,-2,1)$の基底\n", "${\\cal{B}}=\\{a_1,a_2,a_3\\}$に関する成分を求めよ.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] }, { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}2 & 1 & 1 & -4\\\\-1 & 0 & 2 & -2\\\\0 & 1 & -2 & 1\\end{matrix}\\right]$" ], "text/plain": [ "⎡2 1 1 -4⎤\n", "⎢ ⎥\n", "⎢-1 0 2 -2⎥\n", "⎢ ⎥\n", "⎣0 1 -2 1 ⎦" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "init_session()\n", "\n", "A=Matrix([[2,1,1,-4],[-1,0,2,-2],[0,1,-2,1]])\n", "A" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( \\left[\\begin{matrix}1 & 0 & 0 & - \\frac{4}{7}\\\\0 & 1 & 0 & - \\frac{11}{7}\\\\0 & 0 & 1 & - \\frac{9}{7}\\end{matrix}\\right], \\ \\left( 0, \\ 1, \\ 2\\right)\\right)$" ], "text/plain": [ "⎛⎡1 0 0 -4/7 ⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 1 0 -11/7⎥, (0, 1, 2)⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 1 -9/7 ⎦ ⎠" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.rref()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ker, Im(15点)\n", "$A=\\left(\n", "\\begin{array}{@{\\,}cccc@{\\,}}\n", "1 & 0 & -1 & -2\\\\\n", "-2 & 1 & 3 & 5\\\\\n", "1 & 1 & 0 & -1\n", "\\end{array}\n", "\\right)$\n", "とする.$R^4$から$R^3$への線形写像$f$を\n", "$f(x)=Ax$で\n", "与えるとき,$f$のIm$f$およびKer$f$の次元と1組の基底を求めよ." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] }, { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 0 & -1 & -2\\\\-2 & 1 & 3 & 5\\\\1 & 1 & 0 & -1\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 0 -1 -2⎤\n", "⎢ ⎥\n", "⎢-2 1 3 5 ⎥\n", "⎢ ⎥\n", "⎣1 1 0 -1⎦" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "init_session()\n", "A=Matrix([[1,0,-1,-2],[-2,1,3,5],[1,1,0,-1]])\n", "A" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( \\left[\\begin{matrix}1 & 0 & -1 & -2\\\\0 & 1 & 1 & 1\\\\0 & 0 & 0 & 0\\end{matrix}\\right], \\ \\left( 0, \\ 1\\right)\\right)$" ], "text/plain": [ "⎛⎡1 0 -1 -2⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 1 1 1 ⎥, (0, 1)⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 0 0 ⎦ ⎠" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.rref()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[ \\left[\\begin{matrix}1\\\\-1\\\\1\\\\0\\end{matrix}\\right], \\ \\left[\\begin{matrix}2\\\\-1\\\\0\\\\1\\end{matrix}\\right]\\right]$" ], "text/plain": [ "⎡⎡1 ⎤ ⎡2 ⎤⎤\n", "⎢⎢ ⎥ ⎢ ⎥⎥\n", "⎢⎢-1⎥ ⎢-1⎥⎥\n", "⎢⎢ ⎥, ⎢ ⎥⎥\n", "⎢⎢1 ⎥ ⎢0 ⎥⎥\n", "⎢⎢ ⎥ ⎢ ⎥⎥\n", "⎣⎣0 ⎦ ⎣1 ⎦⎦" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.nullspace()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 微積分\n", "## 正規分布の概形(15点)\n", "関数\n", " \\begin{equation*}\n", " f(x) = e^{-x^2}\n", " \\end{equation*}\n", " の増減,極値,凹凸を調べ,曲線$y=f(x)$の概形を描け." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAWCAYAAABDhYU9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABqUlEQVRIDc2W0U0CQRCGxVgAxg6gA2xBO4BYgaEDiE/wih1gC9gBdGCwA+3AQAf4fevtZQ0cJ8nh3ST/7szsuvc7szNLa7fbXdQt0+n0Dg5t0AFdsMC3ukJpgkjmWiLMktyA1qWOBshtwsHobbUbQY5ofSbkZuiDYHvnmoLJZDIHvcinScRmEGtLjHnk3HI4t5C2UfYNK9G09UHQTSlYY/dAFH3ds0fOKIBOFpEF+jLT1+h99SL8RyvZGp0sJLaJZaY/4n+PoTo0n5RWDjP0pqVMhgmhfC8+71D30Fq+KVWKQlq1nxT2wCaeix5SHe1D81n7HBHqALu98gBierXHDsfkpLQeO6hoDXJz1j6A9+sefAHlhbXwEvyY++Mvcmz2wj6BeIDlPi47ZP/Yajx5tULAXwb+lwP0UEXMFoBkS1PAnsolkIOEj60lbpWl5S3hWPqVf7zswBg5I6a0IRe7+Q32EnsVVmoYIjkj9AqR5xo4FH4ybSVvhbtqWojk7D+mcU+Ipo90LRLT6pM0TBlAyrai/y/PVfqnlel5n4OMhWD0bJiKxVHrHfwGclo139yN8EQAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle e^{- x^{2}}$" ], "text/plain": [ " 2\n", " -x \n", "ℯ " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "init_session()\n", "\n", "f = exp(-x**2)\n", "f" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAWCAYAAABqgnq6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADCklEQVRYCe2Y0U0bQRCG7cgFENIB7sCEDqADSCogdADiyX6LSAeIChLTgZ0KCOkAOgjQgfN9x+5qfT5jJB+2JW6k8c7O7N3N/jczO+f2ZDJpNTSLwGAw2Ee7Be/AXXiIbtxBaKgaAQH6qIlR4B7h9gcVDVUisJtpjbIn5w1gGSq5SFTdZ/ML5CPn7aaGZbBUiAB3ifqS8a/mJsIqQIoqQDKyzgQLPlX/biMsAgAGnoACcxhlbPfwLfMeHEldt2VKvjfu9/un8I77ZhzCoyDfIh++hEctbQXIe4qchVfxmfHBOfoi74N+k4YnfItF3ZZhFJw7XuTz0ikZwLIoHkREkA1xc/4AeRz1bzFyf9PG5y2iE9ZGkNJadHbu3SpbWpQLL4Xfa2whpIvwztejf5Rz3abJ+NfLfUSe2UfZ5zpOST8h7nhDhnZORtYWetN1Y0h/YLt26SucR10sK4Wx6qeOGiYwPZwoOuGKh5SBrFiyOhV+etr9gi0ZRe0Ksk4sBGzpGjZvqzhxh8232Y5rkAXvW5jvMR7DRqBvWrphzfWz+Pwbrjln9i/obQM8UOa9oLDsbYY6UnLGMzZjIRaI8hu7wPZDxnYDX8H7zF0nmFPFG73pbj/0M7vOzlsA10J1pGSV40OU1wGYwo5sZOWAGCE2i0aZtA0nO+sF3JTxdMvbE0GMbQDiaqmDM77Z37Dja+motIl0HXojwDpRfKwmQ6v1B11eYP03wE8OgWtVrPc+kgdH8VmC/AkeMX/TVsWHziMB0+H8r4x5axfquZdRtM2YerJ4Ebo8SlR/gb9He8VoJE1FacWalatqq2EAUnyLMabIQrbom1pThE4wjOhU4NEZSeUot85tFNUCGBu1yO8xlou8ID4EMEwlgZJO4PzzRN059iI9nUCmryk4Q6zzvmuhzrJPxXkjyCI/Ro51J97WE9BT0Q0Klu2AUeS3ZiJ02srR5AEgsInCterT4ZCMKxKW7sPYRNFvzfHXor6bbdS1LeYRRGudbYNRmNLTNRI6i71RVlzHaNrakqyN/gNhBcf735CGPAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle - 2 x e^{- x^{2}}$" ], "text/plain": [ " 2\n", " -x \n", "-2⋅x⋅ℯ " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = f.diff(x)\n", "df" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 2 \\left(2 x^{2} - 1\\right) e^{- x^{2}}$" ], "text/plain": [ " 2\n", " ⎛ 2 ⎞ -x \n", "2⋅⎝2⋅x - 1⎠⋅ℯ " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2 = f.diff(x,x)\n", "df2" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "\n", "plot(f,df,df2,(x,-5,5))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAYAAABLy77vAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQElEQVQ4Ec2U31HCQBDGg2MBjHaAJQAVSAlCB0oH8Ji8YgfYgnYAHTBQgh3IWIK/j2TDJbd34/jkziz779svm+Uug7IsV0VRLFHJvKqqU+3mf8F1+gYQbWjZUdjnW/0qfZf+W79cZxuQgi/0Ad2Q+1SiLzf9hMU0HPEP2DX6ir9GNfnIMKF1iQC/ABpiPwyM/42veGu50LpEAOaot/QD+Rmkw5BEfopoRu3cBxPbflTvSETkPa3TUQd3/VxEBMBA2klKfv1qKQLL35tj1pvI243hbVqdq45ERM3fLFA0fpCzpbdkEVFT0XUZtairYxNF1ylF9E7v5NrfemO8UzB1W3CJAL6BOGOfDImvV12gz5YLbe7S6um6pFOsliv7SOyd+CJJRIPOkX2ncPPivlq+xa/+PyLb0ZadaOa/fLN1tnY/suxTofefTGsAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[ 0\\right]$" ], "text/plain": [ "[0]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(df,x)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHAAAAA/CAYAAAA47kzyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE2ElEQVR4Ae2d71HbMBjGk14HSBkhbADpBE03ICNANijXT8m3XrsBXaFsULpBYIOyQYEN2ufxSTpHlYNwrFeviHTnyPpjS+/zsyxZtmC8Wq3mo9HoJzbf3a/X62M/soblFQCHW5R6Eih58bYV+bG1z90HL1yD+RQ4R9FHXvFNo3MAQfnGy1CDShQAmzu/Koh7YtwbP6GGy1LAtUDt1cYVxz6AfUGUQ/5xVEbBTClsKAYgdP6K7RQi/Hc7EWSwb1GD21DELdRcuaOS4aWyoQiAuOw/Y+PVW7JLYoP6Wyiu3CmoTeG7UbKJuzQ0Z/D5yHOJeJW315Q2qAdIMGaDNxoZMa7gu+dW7LN13jIOmwPdHKDjJ5kNqm+hgDGB/jMPCmEt21yQToH4XPSjHa9hP7UNqgECAGF98UDMEf5thGknseVNEM9briaX1Aa1AA2gOfxrjwZBcZ62mYnw0hhkq1XhJGzQ3AcGR20QZdFBp5nsRbqmgUxyG7IAhMhngPAEf9eA4wzpUW9DkI/weOu0I9MOxsNFa7FBHCAM/wQZeWXeYzsNSWryXIXSOuI4eLnGcd860geN1mSDaB8Iw9lSvpvtxIRD4i5jYSAfQbNP7Lq1hs7fO87UWY0N0gDvIAAHH3ZkyZa45ZB+gYio1mfyHsF3z4RbJ0sQQFmqbBAFaPWECITIq5j9HPuutmM/xrSdDsexHz2G71oezxU4387z9E1EOSpsyALQiMbnIzo38IAohMK+jOJ0OqTzVvwevjvWZObxnFaTctltGNtvYiCG+PszlMnPAvhg/g77HJXyfd8H7ncRQBpbLI8LjWD53Bg1cu06/0vjUV4WG1DuI+p6Lj4K9QTiFUyAF6gQR6Ub+J3wzLEUjBDZV/ouxzNgVhuyAgSsG2wUnYMZAnT9mU/GhpFftIXZcrv83Dbk7AOtJhyRTrDxUYAQS3TZbMgOENA418lW6A9IigGZ04ast1BLCAIEZ2Rsegl+Lhuyt8AS4GiuYwWomU5E3SrACJE0Z6kANdOJqNuzgxh0zhzi/8JGP9YtcFyOh+rY+r2afDEAOTOy9ygRQP9KqobyBp8a1GjDswCHEj2FoEPVLfY8Gm04mD4Q4r+kC4hlmj3fQQA08B7hR69uyk4msgKHApD9OOdZ+d3oq2qJBwGQFzPA8S1GsfOttCHkxAYxocJDcRB6ingr9Az7DwwjfojHEr7F9z8UDlVjr7jENmzVTRVAY3iShSs4N2+df7asTxBIaUOoutpuoXy7vWxXFIKwNbIP23fhCt/6S3w3mtKGtjTNvjaAc9QqycIVIXgUNZkNDTHvRxvAYhaueDq2g6I2aOsDu76J0bhwpQ3N7aOli9qgrQU6IewOBBFfuGLLHspPaYN6gBBRdOHKUNC88ySzQTVAXLmiC1c80QcJprZBLUAYzg93RReuDEKsdRIJG1QChOFZF660GPTelbJBHUAYrmXhyj7wxGzQ9hgxhWrs8PnJvb9GkAtXJGZSeoPjgaijqA2qAMJ+bQtX+sAUtUEVQFy9qhau9KEnbYO6PrCPaId8TAVYOP0KsAIsXIHCq19bYAVYuAKFV7+2wAqwcAUKr35tgYUDdDMxmEHwVw/Vf36lBC7YcElA81mJXyUC3GAL/bE4flBbnQ4FQv/8ijXb/ANXczDW51H06gAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\left[ - \\frac{\\sqrt{2}}{2}, \\ \\frac{\\sqrt{2}}{2}\\right]$" ], "text/plain": [ "⎡-√2 √2⎤\n", "⎢────, ──⎥\n", "⎣ 2 2 ⎦" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(df2,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "| x | $-\\infty$ | $\\cdots$ | $-\\frac{\\sqrt{2}}{2}$ | $\\cdots$ | 0 | $\\cdots$ | $\\frac{\\sqrt{2}}{2}$ | $\\cdots$ | $\\infty$ |\n", "| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |\n", "| f(x) | 0 | $\\nearrow$ | $\\nearrow$ | $\\nearrow$ | 1.0 | $\\searrow$ | $\\searrow$ | $\\searrow$ | 0 |\n", "| f'(x) | 0 | + | + | + | 0 | - | - | - | 0 |\n", "| f''(x) | 0 | + | 0 | - | - | - | 0 | + | 0 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 積分(15点)\n", "\n", "関数\n", " \\begin{equation*}\n", " f(x) = \\frac{1}{\\cos x + 1}\n", " \\end{equation*}\n", " の不定積分を求めよ.また,$x=0..\\pi/2$の定積分を求めよ.\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAF8AAAAwCAYAAAB37qZ6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEyUlEQVR4Ae2b7VHcMBCG75grgEAFgQ74qIDQAR8VAB2E4Rf8y0AHkAoy0AFJBSR0EDoIoQPyPhqtR/hsn7HPJzujnVEkr3ZXq1erlc4449fX19FQ6eLiYkO+36psqv0ytHlMhuawQF6Wz19VnlW2VNZUBklDBJ8I3wdtLcRnVUT/IGlpkF7/J04n8CMuZAI/gR8RgYhDp8hP4EdEIOLQKfIT+BERiDh0ivwEfmMEVr3mSmMLERXHQ3yxptcKvEyDPqnwrudR5UnlXn03qgdBgwR/EMjWcDLl/BogdSWSwO8K2Rp2E/g1QOpKJIHfFbI17Cbwa4DUlUgCvytka9hN4NcAqSuRBH5XyNawOz4/Px/utyM1JthnkfQLN+LqpLSTwI+IQMShexv5eju51hSXNrpNx2yi10vwBV7bL9HWvI0mmCxMp3cHrkDb0+y3VZ+2QcGD/6I6+vt9+VD4QW+vwJeT/GHkh+rNNsCbruz8UntHNd93LpT8XMIPelmAD6EvfftQ9lIOXs8RJWxh86SJTQHFX8pIYe/ePR7kyg96+5bzD5pMtAxYbwub7KgmhF5T3Znj9QZ8AUSu5++w8yZsHszb6DzsZWnHRwdbNMyPD+Lf2UCBzG/PW1d9K/73QIbcxnbFjkXNoWRm5fFdyWd21H5Dfuxjz9xWfaTCdfTQ89746nlU2MT2u1MHyl2SA18TYxIcTkdqO7BVAyDAPqk8qtiJvQvPnFKbLwY2VK5UAPtSNZPNSM91ci7/y6Qq32PX2VHNVZTDDMBPVSy3Z4GSDT4aESjMpXdkaYdPMQA5dN6ilgiGkLmTTAa8445GXAkBhsUBwC21TdeLVIJqMujwX32mSPaIeHalET6RpiyaV9QO+02OGpsEV+9o4oECuKvQO/FZCNsF9DOBh1CGtuTYFTRJLUQhk/2rmu1+r8KCvbEtXhEBoC10vv+nbISLTgpjXCev2t0q8kr+GT0WtpSkz84p2h34NFJ/0c5l/KpxS8ezjokaFhV/jFlQm0wZOKiwQBDAnKkQmUQju+KmZALqnk3S5aOokDhAv4SMinbVojq1Mt/EZw5cNesET4ULxV1LYltEcXiWkclURRBpyy2SanbAuspYBomaY7VtccrGYMdU2Xd6skOEIpelSPGWKU5g+h/42O4dLcnpF3lFZJGvp0j9eyr0I/fmIEVYfbZdORMA2G4kdNNPXgaoQvvIeGKBbYcZD32A5VC3cVhMXhtYQCB7pmf8KyIiP5QtkonCI/IhchfbKw8caQPgoR0VfrDkIxgZbjp2TQQIoi0knq0/5IdtxuEKmSdApzx7u8+hgHj0TZ1FgYw7H4LnGM1VPyiBkNGEliZAyvioJvmZw8fu8df0eRkOGCZCSrEoI1J5NmDhE+nH4qlyxMDYnRV93yTH7skTtrEJyCPZOVFhJ+An12MWJUtByOQIvaIDMyc2/0f5ZfNxvmsEd3VX7T7o7duLNRZ9X07bbmuFiOwQHEy06jwrHUN6nR+4pYNH6CCFzTNK3W+QFvNgJ9sub2GmWLVXkY+LijZ+G5BaZqWp4hl5rvSJetLm1CWhUnGBnXbgLnDImUNx+JPP2xI25rmL2vozpd+7yMdDH7VccRv9uJEe736KXoVMARCT8Q9zQ5v4YI9TMQAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\frac{1}{\\cos{\\left(x \\right)} + 1}$" ], "text/plain": [ " 1 \n", "──────────\n", "cos(x) + 1" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "init_session()\n", "\n", "1/(cos(x)+1)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEgAAAAmCAYAAABnE91tAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFK0lEQVRoBdWa63FUOwyAEyYFhNDB0kGACggd8Kgg0MHN8C//GOgAbgUBOgAqCNBBoIOQDnK/z7E9Pq89Xu5m42jGsY8ly5IsyY/N9uXl5dZtgePj4/fI+oX68zpkhs8ufL5RHtO+GOO5fVsMFI2zR/1sTJGo7MuIe0R9SFlQXsS+U2gGhqVvH/wnygPaAyPdiYObrhBcxR9SjxonCv8W/DsL36eUfykHfB9R6ylvKQMA/5NOcdIPoHkDoYArrAKPB9LHDmg0YGkAPeEp5UMk2evhY/dVxXjpdqkd04GdzlebH67sB4QfuH8h7nfwv4rvB7R/pjHUyzwvDZPmN7Rf0zgRTXsQgrqietAbhZ0C6AyTEp7zcVJ2zLWjUT5C1wm1pg2EsIaNeWWZ93R0h/aADnNOTsj0GT72zYHzPYV2kQibNRBC6jkKOuc9Ku/Wr2GEV5QLvsuQe833rJHjmK+Rh7yaDrHXyNfJB0Hi4R8NYzlHQb3kvCShT5y7Wi245afjQtMGMv8o7By44u5CGuIlBtGDDqnfU1RUD8vhxvccyM8xYUdr8qCIcIbXD8p92mWozCm3FjxznsFI733VyUF0lGeJtUz2l0weOg55Nm6cKK9eFGTIBkIYE2JNpo88rrV6Avf+1n2tE/aY60F6cScHhZjrEd7Up/nkprxHncPcOM1+8CAbdLYSXgqoJ9+4gZBhsYNx9Jx04/Vyl3aOE9o5+9MOOwK0wr2rausN/eF8Qa2RPYUaqp5Iw6GLWvB27W3ai2Qt6OY3BWlx9vIuhvA5c/elAqcRVd4ngeR+vs14w/bekyHyMX9kA9NXvStBq4GV5RntvEB5gg01mNuHsqMQYn85p562HxUqWWhAPTErRzslXHPLHLSyUSjnvZ05acVHZYPCtFXALdCdZgq+TyBqlN+LY0PoTvDJ3ciz0pMo9Nt58Hxjt8pA8omGMa+owAnllHIdkK4KNcZUrlUUXlneyRBj4ryr0TYH/aZ8op1yQ0pkK096iwaclQZa5tLmm48YxxNmghQKW/SP5aJEt2qd5Mj8V2WwRvqL0kD5eF05wX6kMxQWxZj/q9hKIVbMu7YmC570Oc/bvNxBpDOQ4dM/4/j8YN4RJwNv0PYZfm75Gjh96wV++5YjrTdsd7DQzzxLn0DB/4FWj3XcxoF5XXwvy086Btq4JBMTIqDC+b6zbKccjIbexfBXDMGdVm88oj8dM+yfBehddJ3lbvUuNst1vQQeE3xXroZoHN+AslFpu9H8sI9S5s85vp78fzGmk4PmBm0Srwf5aGV+qwWN0QlJxutNhnVKHbW8DLHgdXdqR2yYzrucYN6qBWnPRoyq52hsw68W5PVF4iYNhDIpyedwqdBMQ4SwmKCt8kbmTosSQnJnglkL3YbFIGymBEOxqZ0xHEfA1yZqF8UfHcNBuEkPikYwzAyNtKJTtpnsZ6zGMbTSzjZJWyB81vF4EqBZA6GcYeb7Ub7yXIm80l+98DO8qt6hoPtH7tT5JaJZA0VBXfkFAocwsa8WGOPh1Zw0FXpjrDzoHpaIpg0UBdVInd/LSwXG2hjFMPF/iaqTPLR6jwbN3iPv5g2EwOFfWKhVehag8xTs72nZc2jrhYupwRGn9+QxibZ5A0VB/d8grwyTSkoH3lB8RN1PyhrNa8cAoHX798zjr7GDJ5wm72IDLehAeI1j0h39f8KIV9GxK8UB+PvgBkC/Y3znCp7aJ7gtHrSFAq6uITDlRSoqzlDsF3fEAcBT7/Ff90aN44D/AGEu1Kmp8j5wAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\tan{\\left(\\frac{x}{2} \\right)}$" ], "text/plain": [ " ⎛x⎞\n", "tan⎜─⎟\n", " ⎝2⎠" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(1/(cos(x)+1),x)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAZElEQVQYGWP8//8/Aww0NDQYAdmrgdgYyP4AEmcBMgSA9GwgfgfEJkCsBMRwAFIAUhkKEgGyy4AUyBQ4YIKzcDBGFUACBj0chKHhJQQLN0ZQZAGDGBRBIOACxKC4OQfE94B4NwDm+hiAOyllRAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 1$" ], "text/plain": [ "1" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "integrate(1/(cos(x)+1),(x,0,pi/2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# センター試験原題(10点)\n", "(2017大学入試センター試験 追試験 数学II・B 第2問)\n", "\n", " 関数$f(x)=x^3-5x^2+3x-4$について考える.\n", " 関数$f(x)$の増減を調べよう.$f(x)$の導関数は\n", " \\begin{equation*}\n", " f'(x) = \\fbox{ ア }\\,x^2 - \\fbox{ イウ }\\,x + \\fbox{ エ }\n", " \\end{equation*}\n", " であり.$f(x)$は$x=\\frac{\\fbox{ オ }}{\\fbox{ カ }}$で極大値,\n", " $x=\\fbox{ キ }$で極小値をとる.\n", " よって,$x \\geqq 0$の範囲における$f(x)$の最小値は$\\fbox{ クケコ }$\n", " である.\n", "\n", "また,方程式$f(x)=0$の異なる実数解の個数は$\\fbox{ サ }$個である.\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] } ], "source": [ "from sympy import *\n", "init_session()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKEAAAAVCAYAAAAuCo7VAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEpUlEQVRoBe2a7VHbQBCGTYYCgHRAOghQQUgHECoAOgjDL/jHQAeQCvjoAFIBHx2EVBDiDsjzHDqNJOwByYp98nhnVvchabXv7d7u3dlzz8/Pvbp0eHi4zDvr8BNsfQ0+ov+BcioILAsA2c/AiFHapr//Up1d2xqB+YaCjnnvEYOc+T7ld4qf8KLtKaFjcO1GLNRPqd/Dn2LfrGxnBD40FHPEe+eFdz9SNypOE+3geEb7SE68Zfo+x45Z2c4INIqEGKKadjdQRyNNExkF76YJUKpY5pqsCSMYnNE0vAWfUz+J/eMujU7ViUHbNd0S5WMb+iDHSbZBOUvHbQxoQcZITqgcjKKxL+Fr6hNxRL77l++rR4zQ1qUV7vVfqs2vyDAFi7EVeXU14ftujOL6VGy2XbPe1JWVwvPZeO5SBkxN14Q5FgRp5D3YQZnUesn1qHr4fY10BbfiMGAKBm9LHnJqEd8Xzx5lZA3nJslJ7zKoi+SEXoqK114TZoPyGwFfqMfIowNIq3DsCx1jujygy2bb30KmDqjxvyo7a1vWTvG84ybHjU04UVDeO2mH59wk6XROLilGQI+QYl+4kfoFDC7hSlQ7EiJEhzPyFA3hANt/AU8FgVMHNOKcUnfNaZQ14ou9CRnR5LrkpHZs5UCZDWKzM2U2hiUsKl87EmaIjTr7CP2TtT2sbiX9ZfJSKDwT1GkscwJzXJvlff+zwveMeqXzV/piGnaSdIm20N3MUhrD3Am54YAb+iWdahs2Grj7lW55JoR+SmennAyhk7qLwTNL9X71C05NjCXDIy8JAoNZx526C/tSaq+Db9xg0M00PHDSFNOxG4sTmYdv4R/wOm1TkMZN+RxQ/S4y/dVXvqetwYrUWYxgcUmgIY0iBoC7IrCsniQ+9DYo9CmLS7hc/RAJuWkUKTpZn7Yh32gouZMp3g+dqVzQP2wcoj6ChU1jzrxwrjcFGPPsAxZt4yTbhGN2StmGRm0Dw0CK6fiOh4peusLT7jh1xh5lKztP5Bix/I3Z8r3kQDdJ/eIxkrsjtT4ujDp+NQKLNRxJoEtpPeQNqNbuHhlXsLa5pFzM6iPjQ07r9kGmk2NgGha4FCNh1cjfuHcUnmjxkg2WDt4aIfMaYf4yMkxucHjujwvjICfr8X2jlxOi1oE+z7sr9/2q/qZjnV3WKav3a9sQGTr2sHHkVj1Cnml4gbIY4F4JCU5Y7OUFQWm4EOa9R180pEqmRqso9DRAqRh5qsYRT5cwht05OseINwBquSshfDrhGvp4OF0kJ5YT0v7HeSo6mA0Xta6jnMnVRaTHMUNzOs9Pks6G6KajhUPdjmN04t+AoRoAnHyS95K0IXo5/sEGQdPsQr8/s6p3WOZ9oKGx5KcMTCmq0Oc9d8upkofJpTUHbXeRUlzLdhmjk98lR07gM7XreC74dc6u4VN3OdDcwcGBDXe+v+wBlMc0gnTHaSrQOfPUTDs5Qj/DfozUpmEnkoeiGqhHOXGM6OCY1l4TZvrrZHFC2SXemLmSwKdSbxFjYLBQd/FI+tXtyP+iCaJmlzdHYBQnfFN4xx8wHc9oPCNgVA6ReTyf685X/gH+UjYrSHfIkwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle x^{3} - 5 x^{2} + 3 x - 4$" ], "text/plain": [ " 3 2 \n", "x - 5⋅x + 3⋅x - 4" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aa=1\n", "f= aa*x**3-5*x**2+3*x-4\n", "f" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH0AAAAVCAYAAABrJ+ESAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD40lEQVRoBe2Z0VEbMRCGTYYCTNIB6cAhHUAHkFQAdBCGN78x0AGkggx0AKkAQwdJB3jcgfN/ilajuxwnzuc7ROZ2RkgnraTd/bWrldlYLpejrmg6nY619qlff9vXh+pfdLXnsG7aAptpllYc5wL42FZQ+1LtB5WP1jfU/VvgXcdbHgno3WiPc7W31TeJ+oZmzxboGnS8fNazTsN2CQtsdHmnl/eWh+Pp+6qH8F42To/f4U4XECRadv+SgPHNnXy3Dnm0DiF9X+XTOtZrs4aX5RpZ1K5MKtXPAYWeVDik2OI3HbmT5KzF0nm6mAC5nHQBEIY50PhNG0W9ECRxrFVp5Dbrv2Su1/G7eOcqOyocwq0qedRHsnmm2unt59K3p3bWwHtZa7G0O/1ICpF0AbSRebg9uay/Ua01OXUnqjHYgm/f12idtsx+bw4d0ezHc+tpHFuMVYeDzlz18c3B7Zy0366XY5W9klga6I9aHcWCF3pFV9k0zNEaAI6hLtWeUNQ+UcHbcqUDCYY9ynSvDsAYlwc6+GaPVfdJYunudCmCV2/FwqvPvL7N6SYkIjx1IK1tuUPoy6jBE/OqQh4L64yHKFDB96pdL8EyJHKxpJqIYiQyx2oXDKBvQCSEQJ9VDlXw6K8q0L147C4sHKS/w/n+9bqlBHxvDE1sYXP6riXjP1gWQBcD4RcmwCRMzFTKFJIE8X/TIMkRQHNvExU4LNl6gmSrIwN0UcMUh91sbVGHZRl0gHb3mSYR3h9Uh+xdbTzcnjLYBePAh7dDGC0ed53/2Z8P6JO7LSTfs1gWQI/B0aQbFUC9Vm1Pm5nadrfBzpv70fONVJMEtSatgzf9VIm9KrUuh9Md2BRjzfi8ZsyiwJPnaW0LyUtkJLKWye2l8arcB3s3srP4C1g60NU5YVfVZaMR3hGKwsTy+Bf1n6mslbQPh633H3HYVwVdqg6b9blDvw5baI0qUEfqJ3rytL1AmCakOUks7clGdk0oN8WS+4iXgwB/uL+Z32SN5Cavw8BLhsS0TObp9vtFGM/MFkksN73kC9V3Ep46ph3/wRgA8wsdyQuKc0rxjDjcn+qbd/hbJqdjhQLhKsvcFkkszdMB6jZWVIoRYgCaZxsL4dmUuVe6cP+pjzF+wHgL5JIxCWreG2SWHjxR0RH9HXl9ucosYc3ZFkksw3/ZPGhxgkCIM68eecXJzH9hCX1fqGCYPRVCCoYKoV7f2ZHkw4shQONAk6MQqW41Fn6PUJsxdOWwk7jxhOW3eJfTROOd2ELrY9eV7nTNG2k++j2LZQAd5oHysEBb0FNaWHhP8Q3j/VqACEPphP4AGCHdf/RFK94AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 3 x^{2} - 10 x + 3$" ], "text/plain": [ " 2 \n", "3⋅x - 10⋅x + 3" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = diff(f,x)\n", "df" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[ \\left\\{ x : \\frac{1}{3}\\right\\}, \\ \\left\\{ x : 3\\right\\}\\right]$" ], "text/plain": [ "[{x: 1/3}, {x: 3}]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s1=solve(df,x, dict=true)\n", "s1" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAsCAYAAADmZKH2AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADZElEQVRYCe2Y21FbMRCGD5kUAKQCnA64dAAdhBJIOoBHeGOgA5IOAh0AFSShA0gFybgD8n3ykZDlQ8aeWU/y4J1Za7WStf9ZaVeX7vn5ufsXfHp6ut3aRbcOj7L+bbcEOjs7u6qG3UQ+QjeudIr36NYpH3q9srQzKbruTRYiSo3Bj4z1SPlJRj6HfyKPGhu/qQt4GxbYDbxDP3WJoj33hVE3MXDZj98hP8DfqevNg6ynVH9Y1WfEUM8x+gf4acbKZOr2AZOnbqDLrCoMXGXY6WrpV6/YbRv+Vg+bVsCNYW0ZAC296xVT647+H9HrTdttO0eXAyQ2IBjcRT0FgLrkopfqaVX+CphL+ARZ/oG8T5kobFr78Y4sawPIAhv37WU9oj+As75Dtu0OLmkoFFxvbAsDh8jH8AWynvwGSwXcpDrza/uI/yXvh625bKYHaH4r1IO0nsBRv0U25ZSEWzpPhDT9oZ5rDNRVp/auB67eqE0ArFSUgol+KShCPceg5jkT8VYGQikIF3ntpc/oDYCW7Oe6SxTtOddKm+eu0bmVlRRB/Yp6WfgioX5sCZVdY80TQCRhxCCQ8rRdoyvemDQlMH5I9p7T6Ued0Hec+4SDywNHlNHTGoGpjLECV1yxoLDy3IIOK91XniuuWFBY8zrGf+7hnDTnGcJTR53x5/nPwn3CkjBgY7caPiUM3MJumeMPq4CYw0mDXf5rz4UeNgc/f0BJ8IxQe7D09lWOSG3X8IDoDedzmsfxfE4rqYc+npg9hL5G3oE3Qj3XA/OUW95EkD18eh/1KpgPnXvolIduY3o0fVwoOAYVSHvz8nTrzV5PbcCJBJvlXKJzujtKL+fhN36/2uevdrfRSz6PJePI+R6LOEUX9CkfFx2taaow8NoiT6BpT56pYaHT677lvVB+4lxmyf79CGNi+InXp1b4tm2P9tzLV/cSHvFC7XTmCJ7pg0KvyVO0dHBYMxBuAFleO2sE6AW+T5kjuTQvFRwGvTg/UZaLcrH8IhgAQyklPFqLSQCZPnysmUkZpdNEMCGbqGdoKZ4DkAbf1x5DLk9bGQU6o9dpHYzucHAYNAD2KNsAGPLQbg900HOhO4TewZgB4HPX1EMNOhd9GxQp79E26LlQcBjxUVCArreWysZfNagT2OCO8QfuiOqhAUSBwgAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle - \\frac{95}{27}$" ], "text/plain": [ "-95 \n", "────\n", " 27 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.subs(s1[0])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAOCAYAAACl66WxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABVElEQVQ4EcWV0U3DQAyGr6gDUNigI1DYoCPQFdoRKt7y2hGACVC7AWEDygiMUGWD9PtCEp3SUgUlCpYcOz7f7z/nu9woz/PQlyRJcgfWFp3hZ01cYlNiqzJ+jfV9Qzw1NvbRRQAS9BU9oPeoBU6kzFtjKzIB/5HEd+wC3V2dzPpjAJCsBLPI24XpS8aW5EqgkmJFeHky0JlMhdrCfpFj6+r2+SHxvM5tisEu+RR2FSZxTrRKz8aHXJmYR4DInMAGXeG/ODjYylhMobAnTiIPqK37RAv5DzISUCXmZt5ji9M0xvFofqDatuLkArDthHN5YOxQN/EWO5GML7NzyX3GqGN7Arb5EbbJts2H3MB7CtqSXzsw5J6xAylktLH411bSvsnc/uCGG2yz6Locqw3E3MCulMc7G/VxUQLk5ajYe8HdF9+o907xD8EP+I4v9EuZYuuL8gj9ZXMxWb7y3QAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle -13$" ], "text/plain": [ "-13" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.subs(s1[1])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADoAAAAOCAYAAAB+UA+TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVRIDdWW200DMRBFN4gCgBJSAo8OoAMeFUA6APGXPwQdACVAB4QKAnQAJYR0EM6xPCtns5HygRLtSJOxx2N7rueR7c1ms0oaDod9xCBNqmoH6fwe/SjrOiXwex+HB8iEaVvvmQjsJpRZd4p8Q3cGv6rrGL3g71f4vJUHV8grAAkuKCJ5G4quSHBcN30NoCKfZk42GDvvHOG3KTuHRRCRukZvV0VQEd3H0HVEXuD7XBnqdwLaBIDhMbp72GJ+KteZW8+munQEX8I2rgtYGmOzkZrmXlO2NTBzQDE07IIUgOn8ATfJTpw6WT74GQPB+Ype4gOtHSh3+9hT5A9ygZpABZc6FRtsTJ/IuusyNpICCbIWtDOq0h5criflmn7Mvptld80BLY3Y9AoL5AW5m8cfyPLFDlj/ymsV8qw8o22Mjan/DitXJR87BaBtA2sGoDVlwz4BxdCUrVoOM3VNZVngzcvO0d/BKxNn+Hg+0L8Q55myO8gyAAtnR0Q/XcE4Irdg2FRgK3ijUtcjuhQlpGDWRQI94k4/EEoyeP2s/wmgOjZqcfAw73RNEB4Wn4U2pGbx32K3tE7yWf8quM+/xvi4qc9G/6semcppK6/o3FttxQADm4zgLHIfwgjKE+bqJ3BN6Fwb14rND/RRTtQrPup1tGwmpkREr8rg7Kjf7mT+APsYJ7Cp7wPUacx8I4QPNiV9F4+kT+M/kS/Xa5XChlkAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 3 x - 4$" ], "text/plain": [ "3⋅x - 4" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x0=0\n", "m = df.subs({x:x0})\n", "yl=m*x+f.subs({x:x0})\n", "yl" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "\n", "from sympy import *\n", "plot(f,yl,(x,-2,4))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2\n", "曲線$y=f(x)$上の点$(0, f(0))$における接線を$l$とすると,\n", " $l$の方程式は$y=\\fbox{ シ }\\,x - \\fbox{ ス }$である.\n", " また,放物線$y=x^2+px+q$を$C$とし,\n", " $C$は点$(a, \\fbox{ シ }\\,a - \\fbox{ ス })$で\n", " $l$と接しているとする.\n", "このとき,$p,q$は$a$を用いて\n", " \\begin{equation*}\n", " p = \\fbox{ セソ }\\, a + \\fbox{ タ }\\,, q = a^{\\fbox{ チ }} - \\fbox{ ツ }\n", " \\end{equation*}\n", "と表される.\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAXCAYAAADnaAq1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADfElEQVRoBe2ZUU4UQRCGZ3EPsOoT8Un0BKLvmwg3UDkB7A3c8LZvZrkBcgP1BmCy7yA3kCOQvcH6f03VpGcYJ+jO9KxxKmmqu7ro+ruquroHBqvVKuupWw/MZrOREBwbih3jh5Ivh91C662bB+YKxsS9of6p+j/UXmy5sOedeuBIQdmLEMzV35HsVR+gyCsddjk9V1X2B/0dVOWWbmU6OZygd+J9ies2FPetU9YIjtous32JwwsbQgoOLzhOz676S2Bt1CtOoLgouRw/A65LSo1F9gjOVHyffdt4swIkXHwP0DaBkmGxYPC0JkCUOIiHw3SjTlCA9X/+4JuHhIDnpGBN8gBZ5Cgxb9QO1ThyjJ9aP3zZqp9Jl8WO6Iti/YM7UXYpnW/WT8pk1+v4pQyD/ZMaWC80dy2ehP7ER9J9/DtQW9HEgRRPbPxdnLvgRG2q/o3aV5uD8eXLHPo44kxtz3QJHhddcpJ9EupcjVLh2MEG3mTBsY034qMQIIGn7uFoiAy8kSw+AT8lY/OZ5GRjHIClxjwL/WJ/UprXsH0SLhKDJMIxJFRMSYPTpI+GtgsC4psgWJSFmNh8Jh34lXjsAN7r15IRKHTew+tIOlyIIeAlPYLLGlyQZcJG3dokzUg6nij+++wnTjaXBy79NrCs7SMHGQIkkO5cd9qFKxjn6bc0PQ+kq3xQpxxQn6vkWqcqAJnknMRQWit/sV4IjgJurUc1oFH2KqkNLFpzbR852FDifCBOIDhNIWCRnMB9icahKz3knKo8QyUji5ElI7OHzXIgQsJpvhC4ZMBkSLbX8tGwBJbFCpuRAe4cAsbFixO8zqPHSeBkxSXvWGMeFl1QjAP7lMRyNreKq2kf5SfIFqZeUxICSUYfZ79VnyARQNqt6d+qn5NkzPljI5e33TFsJEyMncS6l3BtYzGbjfloGAFmUYiT8vGuG74j9jX2zMQJXMJBV/KJ2rma/4OJwOXlztZIxTgtZ7Lv2B1zuey1jadRH+X/bjAnvxYPf0VtexdV68v2Oo+EwpJaixN0Kj4oTDxw0CSWB5qsVMtLnGY5FUS/S6KM0pogHjzr3D9NYvnr/YQSp2wZaQXqd/L7I0YuHE0mCAlX/iaKzdX2G8ZSa6tu8pEmKSv8OWRb7eViscjG43Hhj3aS/zMkx861Bz5an6ttq/9M+2ky8El98QukmG3A3tJvIwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle p x + q + x^{2}$" ], "text/plain": [ " 2\n", "p⋅x + q + x " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, p, q = symbols('a, p,q')\n", "g=x**2+p*x+q\n", "g" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALkAAAAXCAYAAABXu+7CAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFJUlEQVR4Ae2b3VHdMBCFL8wtAJIOSAcQKgh0AEkFQAcwvPGWgQ6ACjLQAaQCAh2EDpLQATmfkDyybIxtbFkh2pmN5NXf6mi1WumShcfHx1kXOjo6WlL9Q9tmxaY7kj906SfXzQjEQmDeY6BjGfSea6f8qfK34g9OltOMQEoILPZQZleGveG1O1Z+RbJVT5azGYFkEOhj5HjxH8nMICuSEXgBgYWuMXnYnzw4nnxLaQ5XQnDydxII9InJC8VtiLIlwVohzJlWCAg7Lu3ubsNlnm/uO9etOsiVnkXA2uWeUoNvbyO3i4QXX1M+v6w8C3m1QHhh1AduEaihPM7iSum2+BJZpt4IXKjlnWvdJyZnQfA6LNKm+IFvK3P9tk7VbkO827rB26jIfLnAY9iOnAd3z7NOPniaGuZD6qO+9kPAOhu5OsHAeTY8VX4VVv5A/Fvch/Bq8P9EeBlOP9iQcCzyTjZiCt5wKjSIPtYWwREuqE+4wps4SpEWpAFcfFnIcqYeAWGF1172SyVzXh0HkqkfAl+EYykMpJuSkasCXpo4+178S0xsyMvJiVJDypcWx8mnTFvqzYmzIV4X74iZK9/vbX6yX22lP3qAO5elM6UlajO/UoMIH55ONxoODL+KCcOuVVbEw/qOQhqTMKXWQRThiioBNN6ZnQBj2DTixo/nTpI66M0ud5v1uybDPeJETKjFpuayEpU0NuEei8MpiGFUfn9QeXLrYnW6kr7GTvQNhudibGUKA8dhcTdkHSs0R6JCjJhFRmm/Ivl7yUoxjmRJUFu9VQ8vjseBAIQ5+S8YPyWrXFioPCZJBwzCGIXyhCu3SovXFeWTW5cGnYAquoEzqIgTkI1WS8bIVcJRuaSK4VGJF/GNobaTNkL1zalAfyG9Q6Dyupj+TvLtsIH33VZvjNotAAbP0eqTOalUBwwqGxq5KuP9TT2/YUMeY3VjNlR7KlLdSzv2hdJlm287v9r+1UdMzMG10VbG0Ed9EiLVhikOFGfknyVwT1imTI1ZULwex9KrSf3VGfFMcjyYCR16DNJKb41hDFep22SluWrcTTHHnakX6mHlg/3gpf4wiJnScBMQrqAjjMG0mp/q1ZL6j4U5dvKirQytj/pjTByTH31UsJirAsYMh8YMwDOVhwaBeHLqqTfGXBd+YVThKTbmHM3LlObgPHZlrJ7zq/QzpKBBJ+M8VB7bVjDydY0b3qdwIjhO5PdzD4RwN2AQxtOoMt6W0CGs4zWfLBvq1KQ3i1FaCM2J4w4P/mxMN8LMGI9XCFKfPtoPX8cu8/P7GjMf6kRIGZ5KY45v+hZ+4ORj5eR/kKvchLqLFmgqsisMSYZRsxs4PiF+2Qwn9lQy0b9d9VZ9Tiuzw53KkjFnjPuT7c8VjZ0yZunk1Phgjo5colzolNS6WIxCnXASFech2ZQEjrAh58mx+HNNYl8pb57fxHhEnoSQNQb2Kp+KuujNQkC8IDEniLlG38Aa/0y8IfZxZcOhi++ZusyP+cQgXyfGc86vtGljKBKOYfF0zhp8CVdujJHr40EfKB9SnSysM9l3R71NGKM2HKvRj9YQJOmBMfsGHVaZdZxfpf0YglAnfePJ0bVxLmPoEvYpHWov2othxQm+2WDw2JTakTr2fJv6HxLz4g7UNOALZUPqUxnq1f9potJjggLt8CWpxWWk+KElQTX/SZWELbgSfsW8uHfC6s0bucDnQnco5tJJmMJfT8Z8LtSQb4+EIT9UcTqCK3E5P2Ylaeh/AYpyW9ZvtU7fAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle a^{2} + a p - 3 a + q + 4$" ], "text/plain": [ " 2 \n", "a + a⋅p - 3⋅a + q + 4" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq1=g.subs({x:a})-yl.subs({x:a})\n", "eq1" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAASCAYAAADWvblEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADc0lEQVRYCe2Y0U0cMRCGF0QBQDogHRCoIEcHkFQAdBDEE7xFpANIBRHXQUgFCXQAHQTRAfk+x155vQe5C/EeihhpzrPj8c7493jsvYX7+/vm+Ph4rWmaA1jagG/hA/RXKl5oegQilvtxxDKt2J6gv1C3cHR0pOIUxZYKCfmE5gO8lQzVv9DjCICVAAtuArxB3kZ3Du8gjxc1gFsDZI3M9jtYw6qErxG8V9XJcC93HnvMR5AThczm4VCFgI/ga4xcnZw0XEbvDqhJ+i191/RX892WYBNVDgR+raxiCRbY9bLDzkj/CxhpPtVaMBTLldwBupTtp+qXUOzkBpm8rkx/5+Dk2Yy3DN3AP+ExvI3+E+2ghE9jdIduwruwsfn8Ksq72HQyDP1ghG9jCSUb+UzHlpQexYkYfLq5BJv4gkv1yLIgu3IeFPPYCe9jDMb3DV7zGTZuE6L6GYSPHuHfiuGlw7PRhP2RjCwpk8hAxwafOpEFVL1AO5lEyjfoBs0k/Jnd32MQJocxuNsSXSM46cGJOAQ5VAZkS8olbbil9ACnw4w1+LLUuDU8RMPWQE7ktsknmvSdNr5X25JWVdDfuSlFoyv0ZRxpvDGmcif4H1NHbMOOw8aYe8mgHjt3RbArxj70KGjJ50M2HT32Jq7+z2lXOoCj8FqzStveybPR75DTFSeosTNYs+trUDzyg+0kQBv0ZkAoBY8M73Uxzkk4Pi1iJza6nMNdstM2p6h/k+ueKvNOF76hLRfFkmKcoxZwjJz4a9o2o5AFU7qFBbcE1kVosCsnq3ooEthJJc0Jlruxdkyeb+KxAoeEKB0uRgNXZhOjziGJzkUQ7ER57VbnZMNqMtabSlqgZD9EK7CdBScOd6oTLudTOx59phKS+9qIDxdLESQPwwvkcFfMLEfowsFJ66RaQHl2MVyoNFn/BvhjLc/e/WQRf+46Y2iTAp0xCvRb5IlZRl8t6i0wMYiTce4bjyXFMmGQkz6vQ/bSJ1lqPjPIk9977hfYDPdKqK5cLFTVyeyWvDkZg2RsLn65G0NnzR98nsEmaY6F2Lb/SS34b+E8ieDMgJkPTWOOE9ug/aeHX008Fmu+fMp3u+3/duv36veUPudmZkmZK5Gd6QyYKQ7GWRfdrunjZ6bx8zJ+Dhk+89wB2zLkR4t0yPOk8+d37zP7/QXGbD6ocdF1YwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 2 a + p - 3$" ], "text/plain": [ "2⋅a + p - 3" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq2=g.diff(x).subs({x:a})-m\n", "eq2" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGcAAAAVCAYAAABbq/AzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEi0lEQVRoBe2Z/1FUMRCAnwwFAHagHSBUIHaAWgHQgQz/8R+jHQAVMNCBWIFgB9CBSAf4fY8kk5e7vDu4k7txbmdy2Ww2yWZ/ZR+8enh4aEo4PDxcgbYhHfyynF+Mp6MBdPuGndZpv8Bvy12XSgJMX6D9CPSrcn4xnp4GgkE0ylfw7zSDIsGrPHKY3GbmnLYKfp+4ZoQgg561F45XcMdeZCbRHOTZD/KYWe5o+9B/BdqzO/b4zuJ7+o9xk+WIhH6T/haGeTCMxvDi0TgNuM6jh32kXQSZX6TjPB3jmP5DPBD8K/i1NNqkDqOBvV+CgbSWZmaP7CLCLpfOBY4KOJiBeBoiOYrnI5tRpCObbaYO82wcPcmLpyhGGQmfuiZGb7gFyw0yrBSsOswKdCNrqlCmtaluPslmXNZLr+Z7QItRdJzTXwhXnnVkqDlIabSJxRrbOAhlyaf3+C7t0PQUx68DvtMjOCyPAM8N2CV9J0XE+VoPv2e1qQX8pMb3r+icmR7q4gz10jDfKQoYqx/ltRr7TfON3Ib+jX4sKNOa1q95xudsY0vtN45p5l0FGJl34XV/hd6gjQWs0Vst7zWmCpib8l7ZkMf7xAoOtDWUjnRNs6CxaRCj3UqzFmEacI2WIBmHRR7yiTaQMphTiJ9hlXxWdHm1ZDQoUC+wRsNbpr/rZcwm4fUDTSfQc89oVkcxvWWcM0F1yAvli6eDq3zpGiX/sBTvq4TVp29XutsyA5Vt+NlbosaKiGECN41hq6GO0swj0noDPG6uAaowar66kAnWqgj3P6evfosxpzxGdysX/Tjg3eMdR/LDqxOrlzLdqUv1UKZenTd36M4Z8LuXb+wp/QH9kcaRqLJNG1r7itZRcBzTx+goDWjtfx/5wCcG9tIJGvpSYaY15aheNsgxdnR6zlOA/S3z1+jTN0+23uzT0Q98OonO74dmH2gU+bTD5bKcICpgj97Fp7TSGyC1oDAas2M8aCqq9JR2wQQ/5mxlq0bIBHs/eynymHbe0icdgatQ4Y6mIUojaLAGvo7RpEVgzn19W9N9l+Jk6DVS67EFPQ41QucANtWLNFbnUYwLJujdM6axfJuNMOjIkTP8K5y7qptN+vKuKlbDRMjfGmk6tbptWGvFFo0pKcImSCf7tJETZ/t6NtQjFC4JEQ5R0PfgKrMXwh5/YPKRH5V2SgU0rFEJymGUjzyvV5gnTnKeCvWh9zOgLJq2oLVFAb1Ok5TPWJnVW3Qm/9RTe3uSbuFvxjYOvEaNYD40/AS/cTys9JR2svyBT8+Q13ejF+A7oXnpXBFeehp/x+o9uzJpqvJ8M0UJbVQEounOR10dqR8rTCPHMlpafh+GdXiKcdrQ5AAFyYWp7z5khvVvh5CHkuDV26LHDeV5KeK4csNnRKf3KJNvGC2bHkSXBklVipEzF4qqSvifTZTGGfhK9b54g3nekI4fopIXMF0NqOPOO1oax4fKDygfsRYC7gedcMB4WM59nF38PksDwfk/sbjzHnX+E+rOMBohVkprtDPGtcqC6QVMooGgaz/+1fmArv8Cqve00E+jCSMAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left\\{ p : 3 - 2 a\\right\\}$" ], "text/plain": [ "{p: 3 - 2⋅a}" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s2=solve(eq2,p,dict=true)\n", "s2[0]" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAClElEQVRYCe2Y7XETMRCGEyYFGNJB6IAMHSQdJFABSQd4+GX/DR1AKmCgg0AFkHRAOmBIB+Z5nFuPuNyXOfk4GGtmvTqdtHq1elcr3+5isdjpW+bz+QQbbwo7B4V+RftdX9tDjN8D6EcmepZMdkzbbfLcpXrBmPPoSP0d9WvkabSNRYPtNVhWWKlPd2ez2TUvDvuAZLx00nmftYOWDd+RQ+o3to2xgO1MXI8ygdOz3zLZGtzMXo4Z8ej7kh2dcjtmFqR4czFhZZOFe76cIL1CbGWwZ0U8iGdUbcnqBCbzLLhAPAvGkhk8+J/UeoAXWcLBCQoHTNHHybPt62Yah2cpzG0maC1ZnMBkMkDK6YRIt54L01YEG+pQ4JCNrYzMFQ7eCY4QdcgZQFoB0H9T5SXzlw/syrlamYChiHNp/QP5hJzQ/jYsUn8c9TFo8BgGjYdhirORCRiL3ZXmigvXuDfESWpoLHVwuWl36M5nUa0TikV6srr41KB17wB/k+pNPj8HW6cwCCNN4WCqm1QYlB2GRO+Cbdn0BVmHVaeMq7yK0+41uHMYxAKanPCCTsv/AtG5AC3drqKtj8aebMpyqcKWuNy0lLWd4FU6oVisu1NerI7Z4f1vzuk00+Y76YTnYDOE02LKPijaDeMHabvSCYmFsle9CC2piDGvxjfocp9k+HBVcLgxDzaH9p+2o0/r0FQejAyQphrUu8tCm4vWq/Fv8U++O9wbG/ZXRiu1pYkJeu6SxZtz95EPiEwwPa6VhxkzeAGjB2Rs4hHPhslX9Op+E6BqnUBn2VBFoaq2sDcaDf7061EjrspwaBzxH77cOoFN3Tph64T72N4yAT8sswMnqZ/Ho/wr+T/wrqVZq+k9Moef3aa/APSXzh7D4vORAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left[ a^{2} - 4\\right]$" ], "text/plain": [ "⎡ 2 ⎤\n", "⎣a - 4⎦" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(eq1.subs(s2[0]),q)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 数値改変(30点)\n", "問3.において,\n", " 関数$f(x)=1.1x^3-5x^2+3x-4$,\n", " また,曲線$y=f(x)$上の点$(0.1, f(0.1))$における接線を$l$として問題を解け.\n", "$\\fbox{ ツ }$は3.9522となる." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 1.6.1 (Python 3.8.3-64-bit) (ground types: gmpy)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", ">>> init_printing()\n", "\n", "Documentation can be found at https://docs.sympy.org/1.6.1/\n", "\n" ] } ], "source": [ "from sympy import *\n", "init_session()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALsAAAAVCAYAAAAehp/0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFKklEQVRoBe2a/1XUQBDHD54FgHSAHQhWIHYgUoHSgT7/4z+edgBWINgBWAFoB2IF4nWAn8+ajUm48y53S25z7+a9uf2RZPKd3dnZ2cmt3d3dDXKko6OjbXDtwbew9WfwMf3fKZeC0GUDRd4Xyqij9Jr+4d/q6jflCDxKKSyxrA/Iu2HiT5VL+ZbiK7xpe0noA3odRl2on1D/Bj+Jfasy3QispxOVXNIxEj9XpG5R18svE73BwN29IrnAt+l7GjtWZboRyNazM+HNcOUlamsMy0R69etlUihnXdZyjdnjoGH0hi8H8GfqH2N/16XetrkAaRtzP6a8SYEHOS7ml5SrMCbFgDZk1IydQXb7PId3qLc+JM37fANb2USuRiWuC+oLMXje+5v3iyPuONalmcbq76P/fh9q7P69YXINDB6S4xlC/Wx7rric/HR+dxRjekgZdHpERaU+wcbDu3DMClCdTPM+P/kN4XA65D3vuPcb5SUcDW6ax1Pd4/hIOgQ9+RfY7NCQci5CRjAqhCRZOLOAAYN28I4yGvuAuqGjDmYfVt++kQ6ytBWN3cnaVwvqhgytDkfzPu97m4RMB/4n/Jx6BBuNygUZ+5qPPmT7O1jCOKV8CTI1dI3shXKLtmXr0IhnPOx6wA0ZLOW1oDfc64FZ446GHT266dHY10Lk4m5FB225Ruu1ViYNgGrYetLqhDuR9p/BS0HoqaGbbjyh7plAR+MOpu6zkE5CnoV0II6vHKiYh9jsTVmMY00XwWebjQGbXvQ9wH8JFPKj0sK2+YAg/Y85dY3TsiR0LkOJsvOBK7xTL177hkGfYYzkguwTHYC9FpIJvlNjB4AT63YpabyvYb2b2RbpinvCdkmpp5GzITCJXR3M+Yv73hfdljrWjAt52RB6uJOaHfKAVwuL2ujYtUJgM3wZuTi7DmM82X+UAXQFezDeo+3WrRHlnEcX31mBX7yyB2aNokp91nGAPoZTGoy7i87muqpcUc9SR3DrgExmVMPfEn5nnh0AesWqMQ9pu03q3aXHcPV66MzlB/zhABnxOKCwW79eJOTF+66juqFDuaNSd35c0GU2hnrO8+gupBMaSZ0ZO2+/Bkh1xe3QZ4ZDox9QJsl0IEcP7H9oLKclJ3OWkEl93JnMgFjvSkcXWHNHUVcdxgAso2L+1tkk5HyBnZ9zys2iPreOyEk+R8h0EY4MXxwTqTNjB0zTmF7x/uOAIuFPMSEupGSEzAuE+aV0nNywsDrUcZQxD3i/ntiF1/rDG8+ElDNlc54MY1xYssbfvN56HpHhAho3llxqR8gzfNmgrDrTe0I6M/bqmwHlwGkgZe6WvmgwDkRutAug2xGgoidtGsCghzqGjBC4owcfoW69KyMdNfZn4PEjUpVcwC5++286MXZepiH7wvjpWc/UPEiYZhwbb3H/Iul0DDYXbfjwsgQ66mT8Ot10Ni50yWtZziO4nIMwDwFp8UO/f/EQdwiR16sXqW8V7eCxqtdUFL6Daznh6j3/eV6jkG+VYwmXRJ/XzM7kSn70qcWDtM1YSPGs0XcddTSGayWho2GR8+XBz0XQNx3FLgcKfwRDkej+VcaLbsvGP346LnOs1H/Q50qpxYyTnue6Ms20+PyAtulHB9IMh4vHRVCGNLSzI/C5VcadR2fggvXDxVCwlAvXEQyO6Uwxe6GD8x8Xr13qHHfjLHQU1CRiHHRMYlcfSdu6qv3rMXSvfno7AvMae28VnxJ4M4yZ8rHVbZmOgLtM2GkyxbdQWH8A4XByj3ix18wAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 1.1 x^{3} - 5 x^{2} + 3 x - 4$" ], "text/plain": [ " 3 2 \n", "1.1⋅x - 5⋅x + 3⋅x - 4" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aa=1.1\n", "f= aa*x**3-5*x**2+3*x-4\n", "f" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "f'(x): 3.3*x**2 - 10*x + 3\n" ] } ], "source": [ "df = diff(f,x)\n", "print(\"f'(x):\",df)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "極大,極小 : [{x: 0.337614592259064}, {x: 2.69268843804397}]\n" ] } ], "source": [ "s1=solve(df,x, dict=true)\n", "print(\"極大,極小 : \",s1)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle -3.51474350365896$" ], "text/plain": [ "-3.51474350365896" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f.subs(s1[0])" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "最小値: -10.6989081645382\n" ] } ], "source": [ "print(\"最小値:\", f.subs(s1[1]))" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "\n", "from sympy import *\n", "plot(f,yl,(x,-2,4))" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "接線の傾き: 2.03300000000000\n", "lの方程式: 2.033*x - 3.9522\n" ] } ], "source": [ "x0=0.1\n", "m = df.subs({x:x0})\n", "print(\"接線の傾き:\", m)\n", "#yl=m*x+f.subs({x:x0}) # HERE!!!\n", "yl=m*(x-x0)+f.subs({x:x0})\n", "print(\"lの方程式:\",yl)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGgAAAAXCAYAAADnaAq1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAADfElEQVRoBe2ZUU4UQRCGZ3EPsOoT8Un0BKLvmwg3UDkB7A3c8LZvZrkBcgP1BmCy7yA3kCOQvcH6f03VpGcYJ+jO9KxxKmmqu7ro+ruquroHBqvVKuupWw/MZrOREBwbih3jh5Ivh91C662bB+YKxsS9of6p+j/UXmy5sOedeuBIQdmLEMzV35HsVR+gyCsddjk9V1X2B/0dVOWWbmU6OZygd+J9ies2FPetU9YIjtous32JwwsbQgoOLzhOz676S2Bt1CtOoLgouRw/A65LSo1F9gjOVHyffdt4swIkXHwP0DaBkmGxYPC0JkCUOIiHw3SjTlCA9X/+4JuHhIDnpGBN8gBZ5Cgxb9QO1ThyjJ9aP3zZqp9Jl8WO6Iti/YM7UXYpnW/WT8pk1+v4pQyD/ZMaWC80dy2ehP7ER9J9/DtQW9HEgRRPbPxdnLvgRG2q/o3aV5uD8eXLHPo44kxtz3QJHhddcpJ9EupcjVLh2MEG3mTBsY034qMQIIGn7uFoiAy8kSw+AT8lY/OZ5GRjHIClxjwL/WJ/UprXsH0SLhKDJMIxJFRMSYPTpI+GtgsC4psgWJSFmNh8Jh34lXjsAN7r15IRKHTew+tIOlyIIeAlPYLLGlyQZcJG3dokzUg6nij+++wnTjaXBy79NrCs7SMHGQIkkO5cd9qFKxjn6bc0PQ+kq3xQpxxQn6vkWqcqAJnknMRQWit/sV4IjgJurUc1oFH2KqkNLFpzbR852FDifCBOIDhNIWCRnMB9icahKz3knKo8QyUji5ElI7OHzXIgQsJpvhC4ZMBkSLbX8tGwBJbFCpuRAe4cAsbFixO8zqPHSeBkxSXvWGMeFl1QjAP7lMRyNreKq2kf5SfIFqZeUxICSUYfZ79VnyARQNqt6d+qn5NkzPljI5e33TFsJEyMncS6l3BtYzGbjfloGAFmUYiT8vGuG74j9jX2zMQJXMJBV/KJ2rma/4OJwOXlztZIxTgtZ7Lv2B1zuey1jadRH+X/bjAnvxYPf0VtexdV68v2Oo+EwpJaixN0Kj4oTDxw0CSWB5qsVMtLnGY5FUS/S6KM0pogHjzr3D9NYvnr/YQSp2wZaQXqd/L7I0YuHE0mCAlX/iaKzdX2G8ZSa6tu8pEmKSv8OWRb7eViscjG43Hhj3aS/zMkx861Bz5an6ttq/9M+2ky8El98QukmG3A3tJvIwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle p x + q + x^{2}$" ], "text/plain": [ " 2\n", "p⋅x + q + x " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, p,q = symbols('a, p,q')\n", "g=x**2+p*x+q\n", "g" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "接線の方程式: a**2 + a*p - 2.033*a + q + 3.9522\n" ] } ], "source": [ "eq1=g.subs({x:a})-yl.subs({x:a})\n", "print(\"接線の方程式:\",eq1)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a,pの満たすべき方程式: 2*a + p - 2.033\n" ] } ], "source": [ "eq2=g.diff(x).subs({x:a})-m\n", "print(\"a,pの満たすべき方程式:\",eq2)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "p: {p: 2.033 - 2.0*a}\n" ] } ], "source": [ "s2=solve(eq2,p,dict=true)\n", "print(\"p:\",s2[0])" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "q: [a**2 - 3.9522]\n" ] } ], "source": [ "s3 = solve(eq1.subs(s2[0]),q)\n", "print(\"q:\",s3)" ] }, { "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.5" }, "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": { "base_numbering": 1, "nav_menu": { "height": "12.666666984558105px", "width": "252.6666717529297px" }, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": { "height": "538.3287963867188px", "left": "0px", "right": "1189.3333740234375px", "top": "60.801631927490234px", "width": "179.0353240966797px" }, "toc_section_display": "block", "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }