{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 練習問題" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1275\n", "1275\n", "1275\n", "1275\n" ] } ], "source": [ "#普通の方法\n", "s = 0\n", "for x in range(1,51):\n", " s += x\n", "print(s)\n", "\n", "#sumを使う\n", "print(sum(range(1,51)))\n", "\n", "#generator式を使う\n", "print(sum(x for x in range(1,51)))\n", "\n", "#reduceを使う\n", "import functools\n", "print(functools.reduce(lambda x,y: x+y, range(1,51)))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( \\left[ - \\frac{3}{2}, \\ -1\\right], \\ \\left[ -1, \\ - i, \\ i\\right]\\right)$" ], "text/plain": [ "([-3/2, -1], [-1, -ⅈ, ⅈ])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sympy as sp\n", "sp.init_printing()\n", "\n", "s = sp.Symbol('s')\n", "\n", "p1 = sp.solve(2 * s**2 +5*s+3, s)\n", "p2 = sp.solve(s**3 +s**2+s+1, s)\n", "\n", "p1, p2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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jIwMunfvftT7ixYtomPHjgDUr1+fXr168eabbwIwe/ZsLrzwQmJjY1m0aFFB/nHjxnHiiSeSlpZGWloaAI0bN+bgwYNs374dgKSkJJYuXVqeXVQsu4+guqpd2/0FdeWV8Pjj8NBDboiIc86BW25xj6X0Lqj5U+Cw1AqBKa+HHy5Ts/0h7K+vqkX2mCnu9ZK0bNmSroEhVS699FIeeeQRbrrppgrl+u6772jWrFnB+tVXX83999/PsGHDePbZZ3k6MDth4XZFadasGVu2bKFJkybExMRQq1atkNzzYEcE1V2DBpCa6oa1fughWLMG+tDteykAAA3LSURBVPaFDh1cj6P9+4v9aMy+fe7egcBfM8aEs1//+tcsK3QadM+ePWzevJk2bdpQs2ZN8oI6UZTU175w4chfD95GWfvqH3fccUe17dq1K1lZWXzwwQfk5uaSlJRUZLuiHDx4kOOOO+6o9bi4uDLlKIkVgmhRty7ccANs2gTPPutOIV1zDZx0kjtCyMo65iM19/3kbloLpwlyjClGnz592LdvHzNmzAAgNzeXG2+8kdGjR1OnTh0SEhLIyMggLy+PzZs389lnnxV8NjY2tuC8PcDmzZtZHBgCftasWXQLjLOVkJDA8uXLAXjllVcK2tevX5+9e/cWmeu000475tTU5ZdfzogRIwquZxTVrvA2VZUffviBhIQEALZv306zZs3KNZREcawQRJu4OBg92k00k57uRjedNMkNVdG3L8yaBQcOAErMvv12WshEDBFh3rx5vPTSSyQmJnLKKacQFxdX0COoa9eutG7dmtNPP52bbrqp4Lw9wJgxY2jfvj0jR44E4NRTT+W5556jffv27Nixg+uuuw6AO+64g/Hjx9O9e3digu60Hzx4MPPmzSvyYnGPHj1YsWIFGjQCwMiRI9m5cycjRowoeO28884jPT39qEwDBgwouFi8fPlyOnfuTM2a7ox+WloaAwcODMWuc1UmkpaUlBStqLS0tAp/1ku+58rKUv3b31QTElRBtVEj7dlohfYkTfXZZ/3NVgTf91cxwjWXatVkW7NmTbk/s2fPHg+SVM6mTZv0tNNOC+k2x40bp++8807B+ksvvaSXXnrpMe26du2qO3fuLHYb8+fPL1g///zz9auvviqybVH/FsAyLeZ71Y4IjLtLeeJE+PprePddGDgQdu1y79kcBMZU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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy.integrate import odeint\n", "import matplotlib.pyplot as plt\n", "\n", "def system(y, t):\n", " if t < 10.0:\n", " u = 0\n", " else:\n", " u = 1\n", " dydt = (-y + u)/5.0\n", " return dydt\n", "\n", "y0 = 0.5\n", "t = np.arange(0, 40, 0.04)\n", "y = odeint(system, y0, t)\n", "\n", "fig, ax = plt.subplots() # FigureとAxesオブジェクトの作成\n", "ax.plot(t, y, 'r-', label='Output (y(t))')\n", "ax.plot([0, 10, 10, 40], [0, 0, 1, 1], 'b-', label='Input (u(t))')\n", "ax.set_xlabel('Time')\n", "ax.set_ylabel('Values')\n", "ax.grid()\n", "ax.legend(loc='best')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from control.matlab import *\n", "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1次遅れ系のステップ応答" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANoAAACqCAYAAADLP1EaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO2deXyU1b24nzMz2RcCIWQh7CRAAhIguFtRXGjdrcu11eu91Wq9Xm9bqxV7e6u2/VWvdu+9Xbx2sba1akW01qpItS5VMAmEkBBIQkLIQhaSECazz5zfH+/MkGWS2d+XDO/z+cxntnfO855JvnPe97znfI+QUqKjoxNfDFrvgI7OqYAeaDo6KqAHmo6OCuiBpqOjAnqg6eiogB5oOjoqYNJ6B8Jl9uzZcuHChVrvho7OBKqrq/ullHmB3pt2gbZw4UKqqqomfX9wcJCZM2equEfaerV063UeixDi0GSfi9uhoxDiV0KIXiHE3kneF0KIHwshmoUQe4QQa2PhHRgYiEUx08arpVuvc+jE8xztN8CmKd7/JFDivd0B/CwW0qKiolgUM228Wrr1OodO3A4dpZTvCiEWTrHJVcBvpTIG7CMhRI4QolBK2R2Nt7W1lbKysmiKQEqJ1WXluOM4xx3HcXgcuD1uXNKFy+PCLd24PW4kJ4avtbe3M3/+fCYb0jZ621jjc6tN+6E25hfPBY8TPG6QHpBSueF77Bn3+qjX/I/lxG1g1P0ovN9vT08P+flzxrw2bsOJZcgJD0Z9NtB2E8tzWNK46II7A20wJVqeo80FDo963uF9bUKgCSHuQGn1KCoqor+/H6fTicfjIT09nYGBAYqKimhtbaW0tJSamhrWrl1LdXU169ato6amhoqKChobG1m0aBFdXV3MmjULi8WCwWBgwDXAO+3vcMB6gOaBZnodvdjctvBrdCCi7yE2NGnkbdbIC9CnvnKjeybly68M+L83FVoGmgjwWuDfEimfBJ4EqKyslLNnzx7zvu/ktKyszB9kAOvWrQPwP/e1dEuWLAHAkmThiaoneOvQW0gkRRlFlOaWcn72+eSm5pKdkk1WUhYpxhSMBiMmYcJkMGE0GDEKI0KcqML+/ftZtmyZt2KBqjbF6yLw60Fx2WG4k86GHczNNsDIURjpB8tRsPQp9y7H1GWYUsCYAklpYEqFpNQT98ZkMJjAmKTcG0xg8D42mugbOEbenALv60YQRjAIEAbAAML72HdDTHzN/1yM+szo70P4viQcLg8WhxuL08Ohji4yZ87G6nBjd7mxuyQ2pwe7243d6cHuOnGz+Z+7cXkmfgUywN/F99qY9wTIvCIKCwv9L43+35vya576rxBXOoB5o54XA13RFuoLqmBsb9/Og+89CMBtq27jmqXXMD878sOv1XmrI/5sUDxu6G+C7lrl1lMHRw/CcAcAK33bJaVDVqFyKzwdsgogfTak5UDazLG31BmQlAEG7S6lSikZsjjpOW6jd9hO73E7vcPK477jdo6O2BmyOBm0OBiyOLGPiZK5Y8oSAjKSTWSkGMlMMSm3VBMZySbyvI/Tk02kJRlJTTKQOuo+xTT6Ne9j04nHKSYjSUaByRj5d6VloL0C/LsQ4o/AGcCxaM/PAP/h4lS83/k+975zL+W55Xzv/O9RmFk45fax8oaMyw6d1dD6LrS9rzx2WpT3TGkwZwUsPAdyl8KsxezrdbLi7E8qwRNp6xgBwerscns4MmyjY9DqvVk4PKDcdwxa6Ttux+Ge2MRkppiYk5VCbmYy82als2ruDGZmJJOTnsTM9GRmpifRc7iVM9asJCctWQmiJCMGQ/zrHunfWcRrPpoQ4llgAzAb6AEeApIApJQ/F8rx0v+g9ExagH+VUk5+gcxLZWWlnOo6WjB6Lb1cvfVq5mbN5elNT5OelB5xWTHFOgj7X4fGV6F5O7isgICCVbDgbCisgMLVMLsUjCfX5c9hm5OWXjMtfSO09Jlp7jXT0mem/agFl+fE/5cQUJCdSvHMNObmpFEwI405WSnMyU5hTlaq/3F68slVv1ARQlRLKSsDvRfPXsebgrwvgbtj7R19jhaI/9753zg8Dr5//vdjGmTBvAFxO+HAG1DzW2jZDh4XZBXBmpth8Qal1UoLflE2IncESCnpOmajvvMY9V3D/GNfO50jgq5jJzqOTAbBwtkZlMzJ5NLyAubPSmfezHSKZ6ZRmJNKiskYk31Rq86x8satRYsXwVo0j8eDYZLzjv0D+7nuz9fxhdVf4O6K2Mb4VN4JWAZgxy+g+tdg7oHMAlh9I6y4CorWhH3eFJY7DKwON7sPD1F9aICqQ4PUHh5i0OIElNZpyewMyufOYFlBFkvzMlk6J5N5s9JJiuJcJlTiVedovJq0aFrR2Ng4aQ/Q0/VPk2ZK4+YVN6vq9WPuhQ9+BFW/BucIlFwC6/5VuY/icDAkdwjYnG52tA7wflMfO9sGqe885j/0K5mTySVlBaycm01Z0QxWFGbR1nwgJt5IiFWd1fImXKAtWrQo4Otmh5k3D73J1UuvZkbKDNW8ADhtsONn8O73lE6NVdfBuV9WOjXi7Z4CKSVNvWbe2d/Le0397GgdwOHykGw0sHreDD7/icVULpjJugUzyUlPjpk3FmjljtSbcIHW1dXlv042mrcPv43dbeeyxZep6uXgO/DnL8JgGyz7FFz8LZi9VB13AKSU1HYc4/W9R3ij/git/SMAlOZncsuZCzivZDZnLMolLTn4uVQ43lijlTtSb8IF2qxZswK+/uahNynIKIjb9a4JXrsZ3noIPn5K6Ya/5SVYcqE67gA0HhlmS00nf67tovuYDZNBcNaSXG4/bxEXLp9D4Yy0uHjjhVbuSL0JF2gWi2XCNAaXx8XHRz7mskWXYRDxOYEe4+07AM99VrnIfObdsPG/lJEXcSJQnQEGRhxs3dXJizUd1HcNYzIINizL4/5Ll7FxeT4z0pPi4lUDrdyRehMu0AL1CDUcbWDEOcL6wvXx9zb+BbbcqQxt+ueXYfH5cXNOcHup6zjGb/7Rxp/3dOFweVg5N5uHrijjytVF5GamxM2rJlq5I/UmXKAlJU38ld55ZCcA6/PjF2hJSUnw0c/h9QeULvobfwcziuPmG+92uT38de8Rfv1BKzXtQ6QnG7mxch6fPXM+ywuy4+bVCq3ckXoTLtDMZjPjBx3v7t3N4hmLyU3LjY9USkzvPQ61v4Dll8Onf6kMylUBp9vDC1WHea6ujrajFhbNzuAbl5dxXWUx2anx/WcM9F2rhVbuSL0JF2iBvoTGgUbWF8SvNeNv3yan9hfKiI7Lf6TKECmX28PzVR389J1mOgatlBdl8/Ob13FJWb4qY/4g8HetFlq5I/UmXBasjo6OMc8HbYP0WHpYPmt5fIQf/Aje+y5Di6+CK/8n7kEmpWRbQw+X/vBdvvZSHbMzU3hkYwGv3nMum1YWqBZkMPG7VhOt3JF6E65FW7p07DWqxoFGAJbNWhZ72e4/wLZvwMpPk3nlz+I+cn5v5zG++WoDO1sHWJyXwZO3rOPisnzcbnfkc9qiYPx3fSq4I/UmXItWX18/5vn+gf0ALJsZ40A7vFO5EL14A1zzC+r3Nca2/FGY7S4e+XM9V/7P+7T0mvnW1St540uf4JLyAoQQE+qsFlp5tXRH6k24Fm316rEXpJuHmslLy2NmagyvuRzrhD9+FrLnwnW/BmPSBG+seKP+CA+9XE/PcRs3n7GA+y5dxoy0sZ0c8XIHQyuvlu5IvXFt0YQQm4QQ+70p5TYHeH++EOJtIcQub8q5T0XrrK6uHvP88PHDUc2cnoDbBX/6HDitcNMfIX1WQG+0HLM4uefZXdz5TDU56UlsuetsvnX1yglBFg93qGjl1dIdsVdKGZcbYARagMVAMlALlI3b5kngLu/jMqAtWLnr1q2T4XDBcxfIr7//9bA+MyXvPC7lQ9lS1j4XuzLH8X5Tnzzj/70llzz4F/njtw5Ih8sdN5dO7ACq5CT/t/Fs0U4HmqWUB6WUDuCPKCnmxsQ54LuaOoMY5AwZ/YtjcVros/YxPytGLVpHFbzzKKy6Hk67YVJvpLjcHr7z2j4++9QOMlKMvPRv53DPxpKg87um3a/7NHZH6o1noE2WTm40DwM3CyE6gNeAewIVJIS4QwhRJYSo6u7upr+/n+7ubjo7OxkcHKSlpQWr1UpDQwNr1qyhpqYGgDd3vgmAq9+Fx+OhoaEBq9VKS0sLg4ODdHZ24iuvra0Ns9lMY2MjLpeL2tpa4MQXW7PzQ9h6F460POwXPUpTUxPDw8O0t7fT29vLvHnzaG9vZ3h4mKamJux2O3V1dWPK8N3X1tbicrlobGzEbDbT1tZG46Eurv/pezz57kGuX5PPjy+fy9LcZBoaGvB4PP46+fenpsZfp7Kysojq5Luvq6vDbrdPqFNvb++UdVq3bt2UdZrq7xSsTsH+ThkZGXGpU7C/04IFCyat05RM1tRFewOuB54a9fwW4CfjtrkX+Ir38VlAA2CYqtxgh4579uzxP36r7S258jcr5d7+vREdCozh795DxgPbgnrD5ePWo3L9t7fJZV9/TW6pORz256NxR4NWXi3dU3mZ4tAxnr2OoaSTuw1v2nAp5YdCiFSUZD69kUpLS0v9j9uPtwMwL2veZJuHxsBBePe7UHY1lFwU1BsOW2o6eODFPRTlpPH0505nRWH44xIjdUeLVl4t3ZF643no+DFQIoRYJIRIBv4JJcXcaNqBjQBCiBVAKlHmn21vb/c/7rH0kJmUSXZylINqX/uqkjh002MheUNBSsmPtzdx7/O1VC6YxSt3nxtRkEXijhVaebV0R+qNZxYslxDi34E3UHogfyWlrBdCfBOliX0F+Arwf0KIL6N0jPyLtwmOmPz8fP/jXksveekBl6sKnYN/h+Ztyszo7MnzP472BsPp9vC1LXW8UN3BtWvn8ti1p5Fsivw3Lxx3LNHKq6U7Um9cL1hLKV9D6eQY/do3Rj1uAM6JpXNoaIjsbKVl6LX0Mid9TuSFSanMks4uhtPvCNk7FXaXm7t/v4u39vXwxY0lfOmikqiHT4XqjjVaebV0R+pNuCFYqaknpqf0WfqYkxZFoDVsha5dcOF/Bp32Mto7GVaHm8//tpq39vXwravK+fLFpTEZoxiKOx5o5dXSHak34YZg+fBID73WKFo0jxv+9m2YUwan3Rj1/ozYXdz+dBUftR7l8U+fxg3ro+yg0ZlWJFyg2WxK1twh+xAujyvyc7SGrXC0GW54RlkpJURvwPecbu54poodrUf5wQ0VXL1m/OXE6JjKHU+08mrpjtSbcIGWk5MDKOdnAPnpEZy8Sgnv/UDJc7/88rC843G5Pdzz7C4+aD7K929YHfMgm8odb7TyaumO1Jtw52g9PT3AiUCLqEVr2qYsjXTOl0JOz+3zjsbjkXz1T3vY1tDDI1eWc+3a+OQQCeRWA628Wroj9SZcoPmWmO2zKJfjIuoM+eBHSk/jquvD9o7msdcb2bKrk/suKeXWsxeGvx9RuNVAK6+W7ki9CRdoBw4o69sO2gcBwp+H1lMPh96HM+4A08Q02MG8Pp7d2c6T7x7kn89awN0XxHc28Hi3Wmjl1dIdqTfhAm3VqlWAkiskzZRGqinM7tid/6csLbvmloi8AB809/NfW/dyfmke37i8LO5pBka71UQrr5buSL0JF2i+kddD9iFyUsI8cbUOwZ7nYOV1/gmd4Xpb+szc9btqFudl8JPPrIlqOdZw3WqjT5MJnYQLNN+ypxEFWu2zymovp98ekXfE7uLOZ6oxGQ388tb1cc+rONqtBVp5tXRH6k24QIu4RZMSap5RsgwXrQnbW1VVxddequNgn5mf3LSGebPUW7J3uv26T2e33qJ58bdotiFyUsMItCN7oLceKj4bkXefK4+Xd3dx78WlnLNU3eSe0+3XfTq79RbNi2/Gbdgt2u5nwZgMKz8dtnNPxxCPvLKXDcvy+LcN6ucb9NX5VPFq6Y7Uq2kWLO82NwghGoQQ9UKIP0TrLC8vx+VxMewYZmZKiF37bifUvQClm8LuBLE4XPzHs7vIy0rlBzdUqJop2Ed5ebnqTi29Wroj9cYt0IQQRuB/gU+iZLi6SQhRNm6bEuBB4BwpZTnwpWi9zc3NHLMfAwh9Cd2mbWDph4rPhO37zmv7ODRg4UtnzmJmRujX3WJJc3PzKeXV0h2pV+ssWJ8H/ldKOQggpYw4hYGP4uJif6CFfLG6fgukzYSlgdMUTMbb+3v53Uft3H7uIi5bXxLursaM4mJ1loc6WbxauiP1ap0FqxQoFUJ8IIT4SAixKVppf3+/f1RISOdoThvsf10ZPGwMvTt+cMTBV/+0h2X5WXzlkmX09/dHustRo5Vbr3PoxDPQAp2sjE9TYAJKgA3ATcBTQogJ0RFOurmMjAxqGpQ0Zt0Hu4Gp05gNVL0IjuP05J4VVmq2e3//kRJs5+czPHgUp9MZVRqzaFKzJSUlaZJuLjMzU7N0cwMDA5qkm3O73SddurmzgDdGPX8QeHDcNj9HyRPie74dWD9VucHSzXV1dcmtTVvlyt+slIeHQ0jd9uIdUj46X0qXI/i2Xt5u7JELHnhV/mDb/jFerdDKrdd5LGiUqTiULFhbgQsAhBCzUQ4lD0Yj9Xg8mJ1mADKTMqfe2GWH/X+F5ZeFfNhocbj4+ta9LJ2TyV0blozxaoVWbr3OoRO3QJNSugBfFqx9wPPSmwVLCHGld7M3gKNCiAbgbeB+KeXRaLzp6emYHUqgZSRnTL1x63tgPwZl4/toJueHbzXRMWjl0WtXkWI6MfM6PV29kSDj0cqt1zl0tM6CJVGyFd8bK+fAwABmp5lUYypJhiCt1IHXwZQGi84Pqez6rmP88v1Wbjp9PusXjr3eNjAwwMyZMVwaKgy0cut1Dp2EGxlSVFSE2WkmMznIYaOU0PQGLD4/pIXdpZQ88koDOWlJbN40cZneoqKiSHc5arRy63UOnYQLtNbWVswOc/Dzs/4DMNQOJZeEVO5rdUfY2TbAVy5Zxoz0iS1la2trJLsbE7Ry63UOnYQLtOXLlystWrBAO/CGch9CoNmcbr7z2j5WFGZz4yRp4pYvj9Ni9CGglVuvc+gkXKDt3r0bs8McvCOk6U2YUw45wfMrPvnuQTqHrDx0RRnGScYy7t69O5LdjQlaufU6h07CBdratWuDt2i2YWj/EEqDt2Y9wzZ+9k4Ln1pVwJmLc6f0aoVWbr3OoRM00MYPBPa+tiEimwpUV1cHD7RDH4DHBUs2Bi3vx9ubcLo9PBCgA2S8Vyum2yTI6eyO58TP54UQDwiFNCHET4BHI7KpwLp16xhxjEzd69j6rpKAp3j9lGUdOjrCcx8f5p9On8eC3KkPRfVJkKeGO54TP89AWVDwHyijPbqI8QowsaSquip4i3bw7zD/zKDd+t/fdgCTUfAfFwYfme8bt6cFWrn1OodOKIHmBKxAGspCga1SSu3G3gRh2cplSOTkgWbuU1IWLPrElOXs6x7mldou/uXsRczJDn6draKiIpLdjQlaufU6h04ogfYxSqCtB85FmcD5p4hsKrB7n9IrNOmhY9t7yn2Q0SDfe3M/mSkm7jp/yZTb+WhsbAx5H2ONVm69zqETSqDdJqX8hpTSKaU8IqW8Cng5IpsKzCpQhkZN2qK1/h1SsqFw8l+m+q5jvLWvl8+ftzjgxelALFq0KOx9jRVaufU6h07QQJNSVgV47ZmIbCpwqPsQABlJk3RetL4LC84B4+TDPH/6dgtZKaaw8uV3dXWFs5sxRSu3XufQSbjraEkZSgsUMNCO98DAQVg4eV9Oc+9xXtvbzT+fvYAZaaHPuJ41K7ykPrFEK7de59BJuEA7NqLkC0kzpU188/BHyv28Myf9/E/faSHVZORz54R3iGCxWMLaPpZo5dbrHDqap5vzbnedEEIKISqjddqlHSDw4hbtO8CYAoWrA3728ICFl3d38Zkz5pObmRKW1xDiOmrxQCu3XucwPhfj/fATSro573ZZwH8AO2LhdeIEpmjR5q6ddDmmJ989iFEI7vjE4rC9SUnq5Nk/mdx6nUMnnhM//enmAIQQvnRz47OYfAt4HLgvFtJjlkkOHR0W6K6Fs/494OeGLA7+VN3B1WuKyA/hutl4zGYzs2ermwpcC7fT6aSjowObzYbL5aKvr08V73i0crtcLo4fP05xcXFYQRfPQAuUbu6M0RsIIdYA86SUrwohYhJoxlQlvUC6adyU865dyvjG+YHPz57deRir083nzo2s+1arIFPb3dHRQVZWFgsXLsTj8WA0GoN/KA643W5N3C6Xi6GhITo6OsLq6tcs3ZwQwgD8APhK0ILCSDfXO9CLAQMmg2lsGrP2DwGw5p02IY3ZkZ5efvleM2cuzIGhrojSmO3fv1+zdHOtra2qpZsbHh4mNzcXi8WCw+FgZGQEUDoJpJRYrVbcbjd2ux2n04nD4cDhcOByubDZbHg8HqxWK1JK/2dH3/vK8Hg8/lbTV4bT6cRut+N2u/0+X+fE+LIsFou/jNH7M7oM3/5MVcb4OtntdrKyshgZGZke6eaAGUA/0Oa92VDGUVZOVW6wdHPf+fA78szfnznxjd9dL+VPKgN+ZuuuDrnggVfl9n1Hpix7KpxOZ8SfjRY13Q0NDf7HHo9HNe94tHL7vKO/Bx+cjOnmpJTHpJSzpZQLpZQLgY+AK2WAC+Th0NXXNfH8TEroqoG5Ezs1pZT86v1WFs/OYENpBAvLe6mvr4/4s9GildtqtaruPHr0KBUVFaxevZqCggLmzp1LRUUFFRUVOByOKT/7wgsvUF5ejsFgoKoqsn+zSOsct3M0KaVLCOFLN2cEfiW96eZQIn98jseYkD4jnVTnuM6M4U4Y6VN6HMdR0z5IbccxvnVVeVQrwaxeHfiSgRpo5dYi5Vtubq5/lvPDDz9MZmYm990X2un9ypUr2bJlC3feeWfE/mmZbm7c6xti4ezu757YonXtUu4DrOT5u4/ayUoxce3a6BZNqK6u1myOlFbukZERMjKCpIyIoztcVqxYERNvJHWOa6BpQUpmCh7XuFk8nTVgMEH+yjEvD1kc/KWumxsr55GREt1XcSpOgvzu39po6BqOaZllRdk8dEXwNcgC/bOfd955HD9+fMLr3/3ud7noovBWCgrHGwoJF2j9Q/3MzhnX3d21C+aUTZjo+WJNJw6Xh8+cMT9q76nYojmdTtWdPgK1aO+9954qXr1FQ7mONmb4lZRKoI1L+y2l5A87DrFmfg4rCrOj9p6KLdq3r9Vu4qfeomnMkGWIxTmjhlANtoFtaML52c7WAVr6Rnj8utNi4q2rq2PVqlUxKWu6uC0Wi2Y58AMN7lWjRYu0zgk3et8t3GNHhUzSEfKHne1kpZq44rTYpJYuLS2NSTnTyZ2aGv5QNS3dL730EsXFxXz44YdcdtllXHrppap4IQFbNIvTMrbXsWsXGJOVczQvQxYHf607wk2nzyMtOTbDeNrb2ykp0WZ5Xa3cDodDs2BzOBw8/PDDYX3mmmuu4ZprronaG0mdE65Fs3vsY8/RjtTBnBVjRuz/eU83DreH6yuDZykOlfz8/JiVNV3c+uj90EmoQHO6nbile2yL1lMP+WPPX7bUdLC8IIvyoug7QXwMDQ3FrKzp4na5XJp4tXRH6k2oQLO4lBNkf6CZe2GkF/JPXJc52GdmV/sQn15bjBCRjwQZz3Q7X4kF+sTPMD4X4/3QFKtLGYfmP3Ts2avcjwq0LTWdGARcVaHd2l46px4JFWg2lw0Y1aL1eAfbekeEeDySl3Z1cl5JXkhJUcNy22wxLW86uPU1rEMnoQLN7vbmCzH6WrR6yCqEDGUVmB2tA3QOWbl27dyYu3NycmJe5snuNpm067TWyh2pN6G69x1uZZpEstHbw3hk77jDxg4yU0xcUlYQc3dPTw/Z2bHrXJkObqfTqfos56NHj7Jx40aklPT09GA0GsnLywNg586dJCcHzgcDyvrTN954I21tbSxcuJDnn38+4HrURqPRPwBg/vz5vPLKiYkmkdY5IVu0FGMKuJ3Q1+g/bLQ53by+9wibVhbE7NrZaObPj3685HRzT/VPHS9802R27drFF77wBb785S+ze/dudu/eHXR/HnvsMTZu3EhTUxMbN27kscceC7hdWlqav8zRQQaR11nTdHNCiHuFEA1CiD1CiO1CiAXR+HwtWooxBfqbwOP0B9p7Tf0ct7u4YnV8OkEOHDgQl3JPZvd0Oy99+eWXufXWWwG49dZb2bp1qypeiOOh46h0cxejJOb5WAjxipRydHKFXSipCyxCiLtQsmHdGKnT16IlG5Oh09cRohw6/mVPFznpSZy9ZPJVO6NBq3GOWrrT//5NZUBALClYBZ8M3NKMcQcYbxhsUHFPTw+FhYUAFBYW0tvbG7Bsm81GZWUlJpOJzZs3c/XVV0/pDQVN081JKd8etf1HwM3RCO2eUYeOffuUOWizS7A53Wxr6OGK1UUkGePTiJ+S02RcTrQaGxLPaTLt7e0UFRVx8OBBLrzwQlatWsWSJUv83pNtmkzQdHPjuA34a6A3hBB3AHcAFBUV0d/fj9PpxOPxkJ6ezsDAAEVFRbS2twLQ1NjEkr79WNOLSDMm8evX/sGIw83KGU6sVitdXV3MmjULi8WCwWAgKSnJnxuxo6ODpUuXUl9fz+rVq/3/xL77uro6SktLaW9vJz8/n6GhIVJTU5k3bx7t7e3k5OTQ09PD/PnzOXDgAKtWrZpQRm1tLeXl5TQ3N1NcXEx/fz+ZmZmB69TayvLly9m9ezdr1671l1FTU0NFRQWNjY2UlZXR0tIS8zqB8us+uk6+vBwjIyNkXPE9/z+exWIhLS0Nm81GcnIyLpcLg8HgS8SEwWDA5XKRnJyM3W4nNTUVi8VCRkaGv4yRkRHS09OxWa2kpKTgcDgwmUz+LnUhBB6PB5PJ5C979P5s2rSJY8eOYTAY8Hg8/m0ef/xxNmzYwJw5c/x17OvrIy8vz58pKz093b8fM2bMAKCgoIANGzawY8cOFi5c6N9/X1avwcHBMX+nKZksa0+0N+B64KlRz28BfjLJtjejtGgpwcqdKgvW8xO7lpEAAAovSURBVPuflyt/s1L2jPQoGa+e/YyUUsp7/lAjKx55Qzpd7kk/Gy1VVVVxK/tkco/O/mQ2m1XzjsdsNsuHHnpIPvHEEyF/5r777pOPPvqolFLKRx99VN5///0TthkYGJA2m01KKWVfX59cunSprK+vH+OV8uTKgtWBsiSvj2KUdHJjEEJcBPwnSgYsezRCf2eIFHC0BfKWYXO6eWtfD5tWFmKK02EjnJoTP7XKFxKpe/PmzWzbto2SkhK2bdvG5s1K/1xVVRW33347APv27aOyspLVq1dzwQUXsHnzZsrKTsz8OBknfvrTzQGdKOnmPjN6A2+m4l8Am6SUgc9Mw8DXGZJ0rBOkG2Yv4539fVgcbi4/rTDa4qektrZWs2xUWrm1nvgZ7jSZ3Nxctm/fPuH1yspKnnrqKQDOPvtsf+Lbybwn1cRPKaUL8KWb2wc8L73p5oQQV3o3ewLIBF4QQuwWQkSVgs7f6zh4UHkhbxl/3dvNrIxkzlgU3/W0ysuDJ5RJNHdaWoCFRBLcHalX03RzUsrYJHLw4nA7MAojpv4WAJwzl/B24z+4tLwgroeNAM3NzSxfvjyujpPNbbPZNPuH18odqTfhRoYoF6v3w4z5fNxpZ9jm4uKy+E+MLC6OLi/kdHRrMTJEa/dJOTJEbRxuByZhgr79kFfKmw09pJgMnFsS/9VW+vv74+442dz6xM/QSahAO9GiNSFnl7KtoYfzSmaTnhz/sdOZmZlxd5xsbn3iZxifi/F+aIrdbScZAS4rR5IX0Dlk5aIV6uTT0DKZqFZuKWXwjRLMHak3oQLN4XaQ7FG+iA+GZiEEbFQp0E7FSZBa4FtNZv369WGvJjMwMMDFF19MSUkJF198MYODgwG327RpEzk5OVx++eUx2++EC7RU71qHr3SkUjEvh7ys8BZ9jxStridp6dbi8M03Taa6ujpu02Tuv/9+nnnmmYDv6YeOKIGW5HTgScrg3S6DKr2NPgYGBlRznSzu6dYZEuo0mY0bN5KVlRUzLyTYDGu7206adDKUOg+OC9XOz0AZ7KwVWrl/WPtD9g/uj2mZy2ct54HTHwi6XaDWK1bTZML1hkLCBVqWw8pBzyLm5qRRMke93rjW1tYxY+LURCu32+1W3enDbp84LFaN3Pt2uz2iC9YJFWgOt51Up5Vd5pl8YnVeTPM2BkOrUSFaur921tdU/Y5HEyiXZbAWLT8/n+7ubgoLC+nu7mbOnPCXUtZz7wN2p4UU6eGAaw4bS/NUdfvmi2mBVm7ffDItiGQ1mSuvvJKnn36azZs38/TTT3PVVVdNuf1k3kjqnFidIS4rKVLSTiFnL41PyoLJ0CrItHQn4jQZUFrG66+/nu3bt1NcXMwbb7wRlRcSrUVz20n2SGYUlZKdqu4k+1MxlYHWa1jHY5oMTN0yRlrnhGrR7G4nBmlg9Yplqrv1iZ+nhjtSr9bp5lKEEM95398hhFgYqUtKiUO6sXoyOH9Z+Ce50VJTU6O6U2t3oAQ5ie6O1Bu3QBuVbu6TQBlwkxBifB/0bcCglHIp8APgvyP1uaQLjwCryKIsBmtSh0tFhXbrOWvlPhVHw0TqjWeL5k83J6V0AL50c6O5Cnja+/hPwEYRYX+x1a780oikGRgM6nc5NzY2qu7Uyu0bWDvdEqjGyhvJwOJ4BlqgdHPjV5fwb+NNfXAMmNBdKIS4QwhRJYSo6u7upr+/n+7ubjo7OxkcHKSlpYXDh1spdErycxf5D6Wqq6sB5dDK4/HQ0NCA1WqlpaWFwcFBOjs78ZXX1taG2WymsbERl8tFbW3tmDJ893V1ddjtdpqamhgeHqa9vZ3e3l6ysrJob29neHiYpqYm7Ha7P/fE+DJqa2txuVw0NjZiNptpa2sLWCer1UpDQwMej2fKOhUWFsalTr29vRPq5HA4OHr0KGazmZSUFP+hlMViQUqJ1WrF7XZjt9txOp04HA5/ejabzYbH48FqtSKl9H929L2vDF8aOJfL5S/D6XRit9v9F8qllP5u/vFlWSwWfxmj92d0Gb79maqM8XUyGAz09PQATPg7TYWI13QDIcT1wKVSytu9z28BTpdS3jNqm3rvNh3e5y3ebY5OVm5lZaWsqqqa1Nvc3MzSpUtjVIvQaWlp8SfZTGS30+mko6MDm82G0+nUbIlbrdwul4vMzEyKi4sn+IUQ1VLKykCfi2f3fijp5nzbdAghTMAMIKoRsrm56l4/8zFrVnyT/5ws7qSkJBYtWgQov+iBVmNRA63ckXrjeejoTzcnhEhGSTc3PsvVK8Ct3sfXAX+TUTaxgUYMqIFWXi3dep1DJ24tmpTSJYTwpZszAr/ypZtDyej6CvBL4BkhRDNKS/ZP0Xqn2xT36ezW6xw6Wqebs6GkDo8ZWp0zaOXV0q3XOXTi1hkSL4QQfcChKTaZDWiRFkorr5Zuvc5jWSClDDiafdoFWjCEEFWT9fwkoldLt17n0EmosY46OicreqDp6KhAIgbak6eYV0u3XucQSbhzNB2dk5FEbNF0dE46EibQgs19i6P3V0KIXiHEXrWcXu88IcTbQoh9Qoh6IcQXVXSnCiF2CiFqve5H1HJ7/UYhxC4hxKsqe9uEEHXetfwmH3Ab6LOJcOjonft2ALgYZfzkx8BNUsqph1THxv0JwAz8Vkq5Mt6+Ud5CoFBKWSOEyAKqgatVqrMAMqSUZiFEEvA+8EUp5Ufxdnv99wKVQLaUMnZ5u4N724BKKWXY1+8SpUULZe5bXJBSvkuUA6Ej9HZLKWu8j4+jrKo6fhpSvNxSSmn2Pk3y3lT5xRZCFAOXAU8F2/ZkIlECLZS5bwmLNwXEGmCHik6jEGI30Atsk1Kq5f4h8FVAi5U9JPCmEKJaCHFHOB9MlEALNKV6+h8Th4AQIhN4EfiSlHJYLa+U0i2lrECZ/nS6ECLuh81CiMuBXilldbxdk3COlHItSnqOu72nDSGRKIEWyty3hMN7fvQi8Hsp5RYt9kFKOQS8A2xSQXcOcKX3XOmPwIVCiN+p4AVAStnlve8FXkI5ZQmJRAm0UOa+JRTeDolfAvuklN9X2Z0nhMjxPk4DLgLinrhESvmglLJYSrkQ5W/8NynlzfH2AgghMrydTgghMoBLgJB7mhMi0Lz5Rnxz3/YBz0sp69VwCyGeBT4ElgkhOoQQt6nhRfl1vwXlV3239/YpldyFwNtCiD0oP3LbpJSqdrVrQD7wvhCiFtgJ/EVK+XqoH06I7n0dnZOdhGjRdHROdvRA09FRAT3QdHRUQA80HR0V0ANNR0cF9EA7RRFC5Agh/k3r/ThV0APt1CUH0ANNJfRAO3V5DFjivdD9hNY7k+joF6xPUbwj/l9Vcw7dqYzeounoqIAeaDo6KqAH2qnLcSBL6504VdAD7RTFu9jjB0KIvXpnSPzRO0N0dFRAb9F0dFRADzQdHRXQA01HRwX0QNPRUQE90HR0VEAPNB0dFdADTUdHBfRA09FRgf8PoFbUlgrsg1YAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(3, 2.3))\n", "\n", "K = 1\n", "T = (1, 0.5, 0.1)\n", "for i in range(len(T)):\n", " y, t = step(tf([0, K], [T[i], 1]), np.arange(0, 5, 0.01))\n", " ax.plot(t, y, label='T='+str(T[i]))\n", "\n", "ax.set_xticks(np.linspace(0, 5, 6))\n", "ax.set_yticks(np.linspace(0, 1, 6))\n", "ax.set_xlabel('t')\n", "ax.set_ylabel('x')\n", "ax.legend()\n", "ax.grid(ls=':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1次遅れ系の周波数応答" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "K = 1\n", "T = (1, 0.5, 0.1)\n", "\n", "fig, ax = plt.subplots(2,1,figsize=(4,3.5))\n", "\n", "for i in range(len(T)):\n", " P = tf([0, K],[T[i], 1])\n", " gain, phase, w = bode(P, logspace(-2,2), Plot=False)\n", " \n", " ax[0].semilogx(w, 20*np.log10(gain), label='T='+str(T[i]))\n", " ax[1].semilogx(w, phase*180/np.pi, label='T='+str(T[i]))\n", " \n", "ax[1].set_ylim(-95,5)\n", "ax[1].set_yticks([-90,-45,0])\n", "ax[0].grid(which=\"both\", ls=':')\n", "ax[0].set_ylabel('Gain [dB]')\n", "ax[1].grid(which=\"both\", ls=':')\n", "ax[1].set_xlabel('$\\omega$ [rad/s]')\n", "ax[1].set_ylabel('Phase [deg]')\n", "ax[0].legend()\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2次遅れ系のステップ応答" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(3, 2.3))\n", "\n", "zeta = (1, 0.7, 0.4)\n", "omega_n = 5\n", "for i in range(len(zeta)):\n", " P = tf([0, omega_n**2], [1, 2*zeta[i]*omega_n, omega_n**2])\n", " y, t = step(P, np.arange(0, 5, 0.01))\n", " \n", " ax.plot(t, y, label='$\\zeta$='+str(zeta[i]))\n", "\n", "ax.set_xticks(np.arange(0, 5.2, step=1.0))\n", "ax.set_yticks(np.arange(0, 1.3, step=0.25))\n", "ax.set_xlabel('t')\n", "ax.set_ylabel('x')\n", "ax.legend()\n", "ax.grid(ls=':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2次遅れ系の周波数応答" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(2,1,figsize=(4,3.5))\n", "\n", "zeta = (1, 0.7, 0.4)\n", "omega_n = 1\n", "\n", "for i in range(len(zeta)):\n", " P = tf([0,omega_n**2], [1, 2*zeta[i]*omega_n, omega_n**2])\n", " gain, phase, w = bode(P, logspace(-2,2), Plot=False)\n", " \n", " ax[0].semilogx(w, 20*np.log10(gain), label='$\\zeta$='+str(zeta[i]))\n", " ax[1].semilogx(w, phase*180/np.pi, label='$\\zeta$='+str(zeta[i]))\n", "\n", "ax[0].set_ylim(-90,10)\n", "ax[0].set_yticks([-80,-40,0])\n", "ax[1].set_ylim(-190,10)\n", "ax[1].set_yticks([-180,-90,0])\n", "ax[0].grid(which=\"both\", ls=':')\n", "ax[0].set_ylabel('Gain [dB]')\n", "ax[1].grid(which=\"both\", ls=':')\n", "ax[1].set_xlabel('$\\omega$ [rad/s]')\n", "ax[1].set_ylabel('Phase [deg]')\n", "ax[0].legend()\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1次遅れ系,2次遅れ系のナイキスト線図" ] }, { "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" } ], "source": [ "fig, ax = plt.subplots(1,2, figsize=(6, 3))\n", "\n", "# 1次遅れ系\n", "P = tf([0, 1],[1, 1])\n", "x, y, _ = nyquist(P, logspace(-3,5,1000), Plot=False)\n", "ax[0].plot(x, y, color='k')\n", "ax[0].plot(x, -y, ls='--', color='k')\n", "ax[0].scatter(-1, 0, color='k')\n", "\n", "\n", "# 2次遅れ系\n", "P = tf([0, 1],[1, 1.4, 1])\n", "x, y, _ = nyquist(P, logspace(-3,5,1000), Plot=False)\n", "ax[1].plot(x, y, color='k')\n", "ax[1].plot(x, -y, ls='--', color='k')\n", "ax[1].scatter(-1, 0, color='k')\n", "\n", "ax[0].set_xlim(-2.5, 2.5)\n", "ax[0].set_ylim(-2.5, 2.5)\n", "ax[0].grid(ls=':')\n", "ax[0].set_xlabel('Re')\n", "ax[0].set_ylabel('Im')\n", "\n", "ax[1].set_xlim(-1.2, 1.2)\n", "ax[1].set_ylim(-1.2, 1.2)\n", "ax[1].grid(ls=':')\n", "ax[1].set_xlabel('Re')\n", "ax[1].set_ylabel('Im')\n", "\n", "fig.tight_layout()" ] }, { "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }