{
"cells": [
{
"cell_type": "markdown",
"id": "315d4cea",
"metadata": {},
"source": [
"# Root Locus"
]
},
{
"cell_type": "markdown",
"id": "2980bf21",
"metadata": {},
"source": [
"The root locus method is a tool to study the evolution of the poles of the closed loop system, to determine the proportional feedback to stabilize a plant."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "66987983",
"metadata": {},
"outputs": [],
"source": [
"using Plots"
]
},
{
"cell_type": "markdown",
"id": "73b238c1",
"metadata": {},
"source": [
"## 1. Proportional Feedback"
]
},
{
"cell_type": "markdown",
"id": "964bd8c0",
"metadata": {},
"source": [
"We take the example (10.27) from the textbook and set up the transfer function of the closed loop for a simple proportional feedback."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "c7a0d4fb",
"metadata": {},
"outputs": [],
"source": [
"using SymPy"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "871770a5",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$s$"
],
"text/plain": [
"s"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s = Sym(\"s\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ea18a381",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$s^{2} + 7 s + 4$"
],
"text/plain": [
" 2 \n",
"s + 7*s + 4"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = s^2 + 7*s + 4"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "208d4b1f",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$s^{3} - 3 s^{2} + 2 s + 5$"
],
"text/plain": [
" 3 2 \n",
"s - 3*s + 2*s + 5"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b = s^3 - 3*s^2 + 2*s + 5"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "2b1d0019",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\frac{s^{2} + 7 s + 4}{s^{3} - 3 s^{2} + 2 s + 5}$"
],
"text/plain": [
" 2 \n",
" s + 7*s + 4 \n",
"-------------------\n",
" 3 2 \n",
"s - 3*s + 2*s + 5"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"P = a/b"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "2276132b",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\kappa$"
],
"text/plain": [
"kappa"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"kappa = Sym(\"kappa\")"
]
},
{
"cell_type": "markdown",
"id": "1305dd4c",
"metadata": {},
"source": [
"The transfer function of the closed loop system is Q:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "f87cef31",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\frac{s^{2} + 7 s + 4}{\\left(\\frac{\\kappa \\left(s^{2} + 7 s + 4\\right)}{s^{3} - 3 s^{2} + 2 s + 5} + 1\\right) \\left(s^{3} - 3 s^{2} + 2 s + 5\\right)}$"
],
"text/plain": [
" 2 \n",
" s + 7*s + 4 \n",
"------------------------------------------------\n",
"/ / 2 \\ \\ \n",
"|kappa*\\s + 7*s + 4/ | / 3 2 \\\n",
"|-------------------- + 1|*\\s - 3*s + 2*s + 5/\n",
"| 3 2 | \n",
"\\s - 3*s + 2*s + 5 / "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q = P/(1 + kappa*P)"
]
},
{
"cell_type": "markdown",
"id": "ab3ab2e5",
"metadata": {},
"source": [
"We are interested in the denominator. Let us look at the arguments of Q."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "1d194298",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1/(kappa*(s^2 + 7*s + 4)/(s^3 - 3*s^2 + 2*s + 5) + 1), 1/(s^3 - 3*s^2 + 2*s + 5), s^2 + 7*s + 4)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Q.args"
]
},
{
"cell_type": "markdown",
"id": "c167063b",
"metadata": {},
"source": [
"The denominator is the product of the first two arguments."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "97aed684",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1/(kappa*(s^2 + 7*s + 4)/(s^3 - 3*s^2 + 2*s + 5) + 1)\n",
"1/(s^3 - 3*s^2 + 2*s + 5)\n"
]
}
],
"source": [
"println(Q.args[1])\n",
"println(Q.args[2])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "e9f82d7e",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\frac{1}{\\left(\\frac{\\kappa \\left(s^{2} + 7 s + 4\\right)}{s^{3} - 3 s^{2} + 2 s + 5} + 1\\right) \\left(s^{3} - 3 s^{2} + 2 s + 5\\right)}$"
],
"text/plain": [
" 1 \n",
"------------------------------------------------\n",
"/ / 2 \\ \\ \n",
"|kappa*\\s + 7*s + 4/ | / 3 2 \\\n",
"|-------------------- + 1|*\\s - 3*s + 2*s + 5/\n",
"| 3 2 | \n",
"\\s - 3*s + 2*s + 5 / "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nQ = Q.args[1]*Q.args[2]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "e9394a43",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\left(\\frac{\\kappa \\left(s^{2} + 7 s + 4\\right)}{s^{3} - 3 s^{2} + 2 s + 5} + 1\\right) \\left(s^{3} - 3 s^{2} + 2 s + 5\\right)$"
],
"text/plain": [
"/ / 2 \\ \\ \n",
"|kappa*\\s + 7*s + 4/ | / 3 2 \\\n",
"|-------------------- + 1|*\\s - 3*s + 2*s + 5/\n",
"| 3 2 | \n",
"\\s - 3*s + 2*s + 5 / "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pQ = 1/nQ"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "af10afd1",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\kappa \\left(s^{2} + 7 s + 4\\right) + s^{3} - 3 s^{2} + 2 s + 5$"
],
"text/plain": [
" / 2 \\ 3 2 \n",
"kappa*\\s + 7*s + 4/ + s - 3*s + 2*s + 5"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sQ = simplify(pQ)"
]
},
{
"cell_type": "markdown",
"id": "cb4e2af6",
"metadata": {},
"source": [
"We are interested in the roots of ``sQ`` for increasing values of ``kappa``."
]
},
{
"cell_type": "markdown",
"id": "e9b2ff7a",
"metadata": {},
"source": [
"## 2. Moving Poles"
]
},
{
"cell_type": "markdown",
"id": "cc704e65",
"metadata": {},
"source": [
"We compute the poles numerically, after substituting a value for kappa."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "924ee98d",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\kappa s^{2} + 7 \\kappa s + 4 \\kappa + s^{3} - 3 s^{2} + 2 s + 5$"
],
"text/plain": [
" 2 3 2 \n",
"kappa*s + 7*kappa*s + 4*kappa + s - 3*s + 2*s + 5"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"eQ = expand(sQ)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "733e9083",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$3$"
],
"text/plain": [
"3"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"degree(eQ,s)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "22f0ffbd",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\left[\\begin{smallmatrix}4 \\kappa + 5\\\\7 \\kappa + 2\\\\\\kappa - 3\\\\1\\end{smallmatrix}\\right]$"
],
"text/plain": [
"4-element Vector{Sym{PyCall.PyObject}}:\n",
" 4*kappa + 5\n",
" 7*kappa + 2\n",
" kappa - 3\n",
" 1"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cffs = [eQ.coeff(s,k) for k=0:3]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "60fef712",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\left[\\begin{smallmatrix}9\\\\9\\\\-2\\\\1\\end{smallmatrix}\\right]$"
],
"text/plain": [
"4-element Vector{Sym{PyCall.PyObject}}:\n",
" 9\n",
" 9\n",
" -2\n",
" 1"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c1 = [c.subs(Dict(kappa=>1)) for c in cffs]"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "2ae8b50d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4-element Vector{Float64}:\n",
" 9.0\n",
" 9.0\n",
" -2.0\n",
" 1.0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cf1 = [Float64(c1[k]) for k=1:size(c1,1)]"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "a2a3174c",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$1.0 s^{3} - 2.0 s^{2} + 9.0 s + 9.0$"
],
"text/plain": [
" 3 2 \n",
"1.0*s - 2.0*s + 9.0*s + 9.0"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p1s = sum([cf1[k]*s^(k-1) for k=1:size(cf1,1)])"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "550a2df1",
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"\\begin{equation*}\\begin{cases}1.40028323611539 - 3.04651382395942 i & \\text{=>} &1\\\\-0.80056647223079 & \\text{=>} &1\\\\1.40028323611539 + 3.04651382395942 i & \\text{=>} &1\\\\\\end{cases}\\end{equation*}"
],
"text/plain": [
"Dict{Sym{PyCall.PyObject}, Sym{PyCall.PyObject}} with 3 entries:\n",
" 1.40028323611539 - 3.04651382395942*I => 1\n",
" -0.800566472230790 => 1\n",
" 1.40028323611539 + 3.04651382395942*I => 1"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r1 = SymPy.roots(p1s)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "72893c1a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Vector{ComplexF64}:\n",
" 1.400283236115395 - 3.046513823959417im\n",
" -0.80056647223079 + 0.0im\n",
" 1.400283236115395 + 3.046513823959417im"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"v1 = [Float64(real(r[1])) + Float64(imag(r[1]))*Complex(0,1) for r in r1]"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "72408dbe",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tripletsort!"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
" function tripletsort!(v)\n",
"\n",
"sorts the three complex numbers in v in\n",
"the order of real parts.\n",
"\"\"\"\n",
"function tripletsort!(v)\n",
" if real(v[1]) > real(v[2])\n",
" (v[1], v[2]) = (v[2], v[1])\n",
" end\n",
" if real(v[1]) > real(v[3])\n",
" (v[1], v[3]) = (v[3], v[1])\n",
" end\n",
" if real(v[2]) > real(v[3])\n",
" (v[2], v[3]) = (v[3], v[2])\n",
" end\n",
" if real(v[1]) == real(v[2])\n",
" if imag(v[1]) > imag(v[2])\n",
" (v[1], v[2]) = (v[2], v[1])\n",
" end\n",
" end\n",
" if real(v[1]) == real(v[3])\n",
" if imag(v[1]) > imag(v[3])\n",
" (v[1], v[3]) = (v[3], v[1])\n",
" end\n",
" end\n",
" if real(v[2]) == real(v[3])\n",
" if imag(v[2]) > imag(v[3])\n",
" (v[2], v[3]) = (v[3], v[2])\n",
" end\n",
" end\n",
"end "
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "5a74bfac",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Vector{ComplexF64}:\n",
" -0.80056647223079 + 0.0im\n",
" 1.400283236115395 - 3.046513823959417im\n",
" 1.400283236115395 + 3.046513823959417im"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tripletsort!(v1)\n",
"v1"
]
},
{
"cell_type": "markdown",
"id": "80103fc1",
"metadata": {},
"source": [
"Now we are ready to define a function which returns the roots for a value of kappa."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "9af0c332",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"locus"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
" function locus(kp::Float64, p)\n",
"\n",
"returns the roots of the polynomial p in s defined by\n",
"the coefficients where kappa is replaced by kp.\n",
"\"\"\"\n",
"function locus(kp::Float64, p)\n",
" cffs = [p.coeff(s,k) for k=0:3]\n",
" c1 = [c.subs(Dict(kappa=>kp)) for c in cffs]\n",
" cf1 = [Float64(c1[k]) for k=1:size(c1,1)]\n",
" p1s = sum([cf1[k]*s^(k-1) for k=1:size(cf1,1)])\n",
" r1 = roots(p1s)\n",
" v1 = [Float64(real(r[1])) + Float64(imag(r[1]))*Complex(0,1) for r in r1]\n",
" tripletsort!(v1)\n",
" return v1\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "531967a2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Vector{ComplexF64}:\n",
" -0.80056647223079 + 0.0im\n",
" 1.400283236115395 - 3.046513823959417im\n",
" 1.400283236115395 + 3.046513823959417im"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"locus(1.0, eQ)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "d5b3c063",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3-element Vector{ComplexF64}:\n",
" -0.7508142199275265 + 0.0im\n",
" 0.8754071099637633 - 4.0679477140934095im\n",
" 0.8754071099637633 + 4.0679477140934095im"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"locus(2.0, eQ)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "3a32d295",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"pole3 (generic function with 1 method)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pole1(t) = locus(t, eQ)[1]\n",
"pole2(t) = locus(t, eQ)[2]\n",
"pole3(t) = locus(t, eQ)[3]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "4710c986",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-0.7508142199275265 + 0.0im"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pole1(2.0)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "f2770bd0",
"metadata": {},
"outputs": [],
"source": [
"range = 0:0.01:2\n",
"poles1 = [pole1(t) for t in range]\n",
"path1re = [real(p) for p in poles1]\n",
"path1im = [imag(p) for p in poles1];"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "f46ed6f0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAIAAAD9V4nPAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3daVgUV6LG8WqaHREbgoCABIkiKoGAC254TcQYTYgr7kYzGZcsYzKjgxnuOHliMm5xSYwT10Rwwzi5Y5yoGA0xLhhcQkTcEIO4sQgCQZYGuvt+6Oe2DLbojXZV4/n/PlWfPl31ytPyUl3VVSqDwSABACAqG6UDAACgJIoQACA0ihAAIDSKEAAgNIoQACA0ihAAIDRbRbZaU1OzZs2a48ePazSacePGRUVFKRIDAAAFirC2tva5555zdXUdPXp0VVVVTk4ORQgAUIoCRbh27drq6upDhw7Z2PDBLABAYSr5rywzfPjwbt26eXt7Z2dnR0VFvfzyyzIHAADARIE9wsuXLx87diwuLi44OHj27NknT558//33zc7ctGnTihUr/P39TSNz584NCQmRKymslE6nU6vVSqeAddHr9XzIhLup1er7vjEUKEJ7e/vIyMilS5dKktS5c+eBAwf+7W9/M/t7rbS01NnZOS4uzvjQ1tY2ICCA34CoqqpydXVVOgWsi1ardXR0pAvRkF6v1+l01liE/v7+fn5+xuWgoKDq6ury8nJ3d/e7Zzo7OwcGBpqKEDCysbHh9x0asfk/SgeBddHpdPedo8CbJi4u7uDBg/X19ZIkfffddwEBAWZbEAAAGSiwRzhs2LCNGzc+88wz7dq1S09PT0pKkj8DAABGChShra3tzp07f/75519//TUsLMzNzU3+DAAAGClzZRlJksLDw5XaNAAAJhxYBgAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAIjSIEAAiNIgQACI0iBAAITckizM3NPX36tIIBAACwVWrD+fn53bp1c3FxycvLUyoDAACK7RG+8cYbcXFxSm0dAAAjZYpw69atDg4OsbGximwdAAATBT4aLS4ufv/99w8cOJCRkdH0zNu3b+fm5m7bts00MmDAgFatWlk4IKydTqfT6XRKp4B1Mb4rDAaD0kFgRfR6/YO8JRQowjfffDM+Pt7Ly+u+M8vKynJzc7/88kvjQ1tb244dOzo5OVk4IKxdbW2tVqtVOgWsi1arValUNjacCY879Hq9nZ3dfafJXYQXLlzYtWtXQEDAnDlzcnNzy8rK5syZ8+6777q5ud092c/P79lnn/38889lDgkrp9PpnJ2dlU4Bq+Po6EgRoiG9Xv8gnx7JXYSenp5LliwxLldXV9va2rZr106tVsscAwAAI7mL0N3dferUqcbllJSUHTt2mB4CACA/JT9GCA4OnjNnjoIBAABQsggDAwNnzJihYAAAADiwDAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABAaRQgAEBpFCAAQGkUIABCaAkV44cKFl19+2dPT09XVdeDAgdnZ2fJnAADASIEiLC8vj42NPXPmTEFBwVNPPTVq1Cj5MwAAYGQr/ya7d+/evXt34/Kbb765atWq2tpae3t7+ZMAAKDwMcK9e/dGRETQggAApSiwR2hy/PjxefPm7d27914Tzp8//8UXX3zxxRfGh2q1et++fV27dpUrIKzU7du3lY4Aq1NdXV1XV2djwwmAuEOv1zs4ONjZ2TU9TbEiPHXq1EsvvbRhw4Zu3brda07Hjh2nTJny+eefyxkMzYKrq6vSEWBd1Gq1o6MjRYiG9Hq9Tqe77zRl3jQXLlwYMmTI8uXLY2NjFQkAAICRAnuEOTk5/fr1mzBhQvv27U+ePClJUmhoKIcJAQCKUKAIz58/7+fnd+DAgQMHDhhHdu3a5eXlJX8SAAAUKMIXX3zxxRdflH+7AADcjQPLAAChUYQAAKFRhAAAoVGEAAChUYQAAKFRhAAAoVGEAAChUYQAAKFRhAAAoZm5skxNTc0333yTmpp66tSp4uJiW1vb1q1b9+jRIyYmpn///lzcHQDwOPmPVistLZ0zZ46vr++oUaO++uortVodEhISGBhYXV29cuXKAQMGtG/ffsWKFXV1dUrFBQDg0bqzR3j06NGXXnrJy8srPj5+2LBh7du3bzhPp9P9/PPP27Ztmz9//qeffnr48GFPT0/Z0wIA8IjdKcK6urrVq1cPHz5cpVLdPU+tVkdGRkZGRr7//vurV6+ura2VMSQAAJZypwijo6Mf5AWOjo4zZ860WB4AAGR1/zNfysvLZcgBAIAi7lmE27Zt6969u4uLS+fOnY0jc+fO/fDDD+UKBgCAHMwX4bp168aMGePt7T1x4kTTYHBw8PLly3U6nVzZAACwODNFqNfr//rXv86ePXvnzp1jx441jffs2bO4uPjatWsyxgMAwLLMFGFRUVFBQcGECRMajXt5eRmflSMXAACyMFOEDg4OkiRVVlY2Gs/NzZUkSaPRyBALAAB5mClCjUYTGhr6ySefGAwG03cK9Xr9Bx98EBAQEBQUJG9CAAAsyMy1RiVJWrRo0Ysvvnj16tUuXbpUV1cvXrx4+/btx48fT05ONvt1ewAAminzZ40OGjRoz549VVVVq1evvnXr1p///Odbt259+eWXo0ePljkfAAAWZX6PUJKkmJiYmJiYmzdv5ufnu7u7+/n5yRkLAAB53LMIjTw9Pbm4NmBy7dq13bt3K51CYYMHD+YvYzxO7hRhTk7O4cOH7/uCyZMnWzAOYN2++eabFStW9OnTR+kgijl8+LBer58+fbrSQYBH5k4RHjp06NVXX73vCyhCiMxgMPTr1+8f//iH0kEU8/rrrxsMBqVTAI/SnSIcO3bs4MGDFYwCAID87hSho6Ojo6OjglEAAJBfUyfLXLhw4dSpU1evXvXx8enSpcvTTz8tWywAAORhvghramomT568bdu2hoMDBw5MTk7mEmsAgMeJ+S/U//GPf/zqq6/+/Oc/Z2Rk5OfnZ2ZmfvDBB0eOHHmQs2kAAGhGzOwR1tbWJiYmzp8/f9asWcYRb2/v0NDQwMDACRMmFBUVtW7dWt6QAABYipk9wuLi4qqqqkGDBjUaf+GFFwwGQ15enizBAFjW73//++vXr989XldXd/Lkyf3799fX18ufCpCfmSJs1aqVra3t6dOnG41nZWVJksSFZoBm6r333nv//fdND3fu3FlRUdFozvnz51u0aDF06NCYmJi778UGPJbMFKGzs/OgQYPeeuutHTt26PV642BqaurkyZMjIyOffPJJWQMCuLfbt2/n5+fX1NQcPnz46tWrDZ+6cOHCwYMHTYOVlZX5+fn5+fm//PJLfn6+adqlS5eOHj1aVVVlfBgQEJCfn5+eni7bPwFQnPmzRletWhUTEzNs2DAHBwcfH5/CwsLq6mp/f/+kpCSZ8wFowr///e9FixbZ29v7+/sfPXr0zTfffPfddyVJGj9+fH5+/hNPPJGenj5p0qR58+ZlZGTs3btXpVLl5ORERkYuWLBAkqR58+Zdv369rq6uuLj4xIkTrq6uTk5OTk5ON27cUPpfBsjHfBH6+vr+9NNP27dvP3jwYHl5eYsWLaKiosaNG9eiRQuZ8wFW7kK5YcdlmS45praRZoTYuPzn/9qsrKwzZ8506NDh2rVrnTp1iouLCwoKWr9+vfH6GOXl5e3bt58+fXqfPn1Gjx5tY2Mzf/5802vbt2+/efNmSZL69+//1VdfcQFFiOmeX6h3dHScOHHixIkT5UwDNDvV9VJprUxFaCNJ9frGg88880yHDh0kSfLz8+vRo0daWlpQUNC1a9dWrlyZk5NTU1Oj1Wqzs7N9fX3vXuHLL79sXAgLC+M8OAirqSvLnDp1KiMj4/r1615eXqGhoT169JAtFtBchHuowj3UCgZwcHAwLTs6Ohqb77/+678SEhJef/11tVo9ZMiQmpoas691cnIyLtja2up0OjniAtbHfBGWlZVNmDBh165dDQd79+795ZdftmnTRpZgAB7I6dOnKyoqXF1dtVrtiRMnEhISrly5UlNTM2PGDEmSioqKTLt6jo6Od58mCsB8Eb766qvff//9Rx99NHLkSC8vr+Li4t27dyckJIwYMeLo0aMyRwTQBDc3t2HDhg0bNuzrr7/u2rVrVFSUVqt1dXWdMWNGly5dkpOT3d3djTP79OkzadIkGxubkJCQ3/3ud2bXptfrZ8yYYTyJ9O2333Zxcfn000/l+8cASjBThL/++uvXX3+9du1a0wXV/Pz8pk6d2rZt2xdeeCE7O9t4QAKANQgJCVmwYMHOnTvHjx8/btw4SZIcHBzS0tI2b95cUVGxYcOGvLy8Tp06SZIUExOzf//+c+fOGS8OtXbtWtOBw4kTJ9ra2kqSpFKpBgwYIElSbGysJElqtZKf+gLyMFOENTU1er2+d+/ejcaNd+U2fd8IgJUIDw8PDw9vOOLj42O6RGJQUJBpvHPnzp07dzYuG6vOKCwszLigUqlGjRpl2biAlTHzhXpPT88OHTocPny40fihQ4c0Gk3Hjh1lCQbg/tzd3du3b690CqB5M7NHqFKpEhMTR48eXVJSMnz4cG9v7+Li4j179ixcuHDjxo3cvBewHs8///zzzz+vdAqgeTN/sszQoUMLCwvj4+Pj4+Mbjr/44oum5bVr17722muWTQcAgIWZL8L//u//vu/1drt37/6bt5qVlfXZZ59VVlaOGjVqyJAhv3k9AAA8JPNF+Oabb1puk9euXevbt++sWbPatm07ZcqUdevWNTxoDwCAnJq6soyFrFmzJiYmJiEhQZKkysrKjz76iCIEACjlThEePHiwpKRk6NChKpWqiRfU1NSsWbNmxIgRZi9d+CB+/PHHoUOHGpf79es3c+ZMg8HQ9EYB65GRkbFw4UKlUygmIyMjNDRU6RTAo3SnCO3s7F577bW5c+dOmTJl+PDhje47qNfrs7Kytm7dmpiY6OLiMnbs2N+8yYKCAg8PD+PyE088UVtbW1JS8sQTT9w9My8vLzU1dfjw4aaRd999NyQkpImV595W/e3UI97NdVRLn/WoU9PUVqOyslKpv5x69+6dk5NTWFioyNatQe/evXv37n379m2lgzRWVVVVX19vY2PmK2EQll6vb3gx3nu50xk9e/a8ePHiggUL5s2b96c//cnb2zs4ONjd3b2+vr6kpCQrK+vXX3998skn4+PjZ8yYYW9v/5uTOTo61tbWGpe1Wq3U4Mq/jbRu3TowMHDMmDHGh2q1Ojg42NnZuYmVt7OXxncw6B7pzQDc7FWuLnaPco14ODqdrum3geV06dJl8eLFimwa9+Xo6EgRoiG9Xm8w3L8P/mPnyd3dfdGiRe+9997OnTu///7706dPZ2VlqdVqLy+vqVOnDhgwICYm5uHfZ35+fleuXDEuX7lyRaPRuLi4mJ3p5OQUGBgYFxf34Ct3sZdGBD5kQFg7Gxsbft+hEZv/o3QQWJcHua2KmU8RnZ2dx4wZY9oPe+RGjBixcOHCWbNmOTg4bNy4ceTIkRbaEAAA96XAWaOjRo1KSkqKiIjw9PTMy8s7cOCA/BkAADAyX4SZmZl1dXV3j7u6ugYEBDzIsccm2Nvbp6SkZGRkVFVVdevW7SHXBgDAwzBfhAMHDrzXeXE2NjaDBw9etWrVb/76hCRJKpUqIiLiN78cAIBHxfyB5WXLlmk0mjFjxmzevPnbb7/dsGHDoEGDfH19t2zZMm/evLS0tNjYWL1eL3NWAAAeOfN7hOvWrfvDH/7w3nvvmUZeeeWVV155Zf/+/evXr+/bt290dPSxY8eioqJkigkAgGWY2SMsKytLTU0dPXp0o/ExY8bs2LFDkqS+ffu2bt06JydHjoAAAFiSmSI0niZz7dq1RuNXr141fv9dkiQXFxc7O75jDgBo9szfoT4sLOytt97KzMw0DR46dOivf/1rTEyMJEmlpaVXr15tdA02AACaI/MnyyQmJpaXl4eHhwcEBHTt2rVNmzbR0dGtWrX65JNPJEk6ffr0yJEjOe0TAPAYMH+yTFhY2NmzZ5OSkjIzMwsLC7t27RoZGTlhwgTjRUGjo6Ojo6PlzQkAgEXc88oyGo1m5syZckYBAEB+XKAWACC0e+4RJicnJycn//LLL5WVlQ3HL126ZPlUAADIxPwe4dKlS8eOHVtWVqbVat3c3MLDw2/fvl1YWNi/f3+Z8wEAYFHmi/Cjjz6aOXPmgQMHevXqNXjw4K+++ionJ6dPnz5qtVrmfAAAWJSZIiwvL8/Pz3/llVckSVKpVDU1NZIkubq6fvzxx+vXry8pKZE7IwAAFmOmCI1X0zbeHal169YFBQXGcX9/f51Od/nyZRnjAQBgWWaKUKPRuLu7Gy8lGhoaunfv3vz8fEmSNm/eLEnSw9x9CQAAa2P+GOHzzz+fnJwsSdLIkSNbtmwZFBTUrl27adOmxcXFeXt7y5sQAAALMv/1iS1bthgXHBwcjhw5smHDhtzc3GeeeeZ3v/udjNkAALC4e36P0MTb23vOnDkyRAEAQH5cWQYAIDTzRVhWVjZr1qwOHTo4Ojqq/pPM+QAAsCjzH42OHz/+u+++Gz58+Lhx44x3nAAA4LFkpggrKipSUlLWrl376quvyh8IAAA5mflo1GAw6PX6sLAw+dMAACAzM0XYsmXLmJiYPXv2yJ8GAACZmT9GuGHDhpEjR966dWvgwIGenp4Nn4qMjJQlGAAAcjBfhLdu3aqsrFy2bNmyZcsaPWUwGCyfCgAAmZgpQoPBMGLEiOrq6pUrVwYFBXHrJQDAY8xMERYVFWVnZ+/evfuFF16QPxAAAHIyf7KMvb19q1at5E8DAIDMzBShk5PTlClTVq1axeFAAMBjz/zJMh06dJg/f35UVFRMTIyrq2vDp+Lj42UJBgCAHMwX4aJFi4qLi4uLi48dO9boKYoQAPA4MV+EBQUFMucAAEAR3IYJACA0ihAAILQ7RZiUlOTg4LB48WJJktq2betwD8pFBQDg0btzjDAsLCwhIaFXr16SJL399tu3b99WLhUAADL5jyI03Xrpj3/8o0J5AACQFccIAQBCowgBAEKjCAEAQqMIAQBCowgBAEKjCAEAQqMIAQBCowgBAEIzf/cJSysvLz9x4oRWq42IiPD29lYkAwAAkiJ7hKmpqQEBAR9++OE//vGP4ODgxMRE+TMAAGCkwB5hcHDwxYsXPT09JUnavn371KlTJ02apFKp5E8CAIACRejr62tafuqpp6qrq+vr6+3s7ORPAgCAMscITRYtWjRmzJh7tWBFRcWFCxdWrVplfKhWq4cNG6bRaGQMCGuk0+l0Op3SKWBdjO8Kg8GgdBBYEb1e/yBvCUsV4dChQ0tLSxsNTp48ecqUKaaH8+fPz8zMPHz48L1WUl5efvPmzePHj5tGunfv7uzs/MjTonmpra3VarVKp4B10Wq1KpXKxoYz4XGHXq9/kI8bLVWECQkJtbW1jQbbtm1rWl6+fPkXX3xx4MCBJvbw/Pz8+vTps379eguFRDOl0+n4ewh3c3R0pAjRkF6vf5BPjyxVhN26dWvi2bVr1y5fvvzAgQNt2rSxUAAAAB6EAscI9+/fP23atLi4ONPBv3fffdfNzU3+JAAAKFCE3t7e8+fPbzjCpxkAAKUoUIRdunTp0qWL/NsFAOBu7IoBAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQIAhKZYEdbX18fExPTt21epAAAASJJkq9SGFy9eXFlZef36daUCAAAgKbVHeP78+W3btsXHxyuydQAATBTYI9Tr9VOnTv30009v375938m1tbWlpaXGZbVa3bJlSwunAwCIxSJFmJmZefDgwUaDNjY2r7/+uiRJy5YtCwsL69OnT0pKStPrOX/+/Pbt23ft2mUa+Z//+Z+uXbs+8sBoXh7kTyiIprq6uq6uzsaGEwBxh16vd3BwsLOza3qaRYqwrKwsJyen0aBarZYkqaCgYNGiRcnJySdPnszJyamtrT158mRoaKi9vf3d6+nYseP48eM///xzS4REs+bq6qp0BFgXtVrt6OhIEaIhvV6v0+nuO80iRRgdHR0dHW32qaqqqqeffvrvf/+7JEklJSVlZWVz5szZsmWLp6enJZIAANA0uY8RtmvXbt++fcbllJSUadOmmR4CACA/JT9GcHNzCw0NVTAAAABKFmHPnj2/+eYbBQMAAMCBZQCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0ChCAIDQKEIAgNAoQgCA0Ky6CEtLS0tKSpROAauTkpKidARYnePHj9+8eVPpFLAuJSUlP/74432nKVOEVVVVS5cuHTdu3IwZM9LS0u417cyZM+fPn5czGKyfVqudOHGi0ilgdT755JODBw8qnQLW5ciRIx999NF9p9nKEKWR2tra5557zsPDY/To0VVVVXl5eb169TI702AwyJwNQPPFbww08oBvCQWKcM2aNXV1df/+979VKpX8WwcAoCEFijA1NXX48OHr1q3Lzs6OiooaMWKE/BkAADCySBHW1NSUlZXdPe7l5aVSqS5fvpyenj5u3LiOHTsmJCScPHny73//u9n15ObmXrp0ycPDwzTSvn17FxcXS2RGc6HX6+vq6p577jmlg8C6ZGVlXbx4cfXq1UoHgRUpLi5+kGkqS3yq/q9//eutt966e/zMmTNubm49e/b08vLasWOHJElpaWkDBgyoqKhQq9V3z09PT9+4cWPbtm1NIyEhIU5OTo88MJqX3NzcwMBApVPAuuTn52s0GkdHR6WDwIpotVpnZ+f+/fs3Pc0iRdi0uLi4Nm3aLF++XJKk/Pz8Nm3a3Lp1S6PRyBwDAABJka9PxMXF/fDDD3V1dZIk7du3LzAwkBYEAChFgT3C+vr6uLi4c+fOBQUFnTx5ctOmTRzvAQAoRYEiNDpz5kx5eXloaKirq6siAQAAkBQsQgAArIEC3yP8baqqqk6fPq1Wq7t27ap0FigpPT397NmzYWFhERERSmeBtSguLs7KygoICOB0YphkZ2f/9NNPdnZ2ffr08fLyamKmVV902+Szzz7TaDSDBw9+5513lM4CJc2dO3f06NHp6emxsbFLly5VOg6swqhRo/z9/WNjYzdu3Kh0FliLJUuWPPvsszt27Ni0aVNwcPD+/fubmNw8PhotKipycnLatm1bYmLioUOHlI4DZdy8eTMgICAzM/Opp576+eef+/Xrd/369RYtWiidCwrLy8tr06bNhAkTOnfuPHfuXKXjwCpcuXLFx8fHzs5OkqQPPvhgz549R44cudfk5rFH2Lp1a86pwb59+0JCQp566ilJksLDwz09PX/44QelQ0F5AQEBxt93gEnbtm1N7wofHx+tVtvE5OZRhIAkSdevX/fz8zM99PX1vX79uoJ5AFi/ysrKJUuWvPbaa03MsZaTZTZt2nT3XaPs7e2PHTumSB5YIZ1O1/COJba2tvX19QrmAWDl6urqxo0bFxoaOnXq1CamWUsRvvDCC+Hh4Y0GbWzYYcUdPj4+RUVFpoeFhYVt2rRRMA8Aa1ZfXz9+/HiDwbBp06am28RaitDDw6PhXSaAu0VHR0+fPr2kpMTDw+Pq1auXLl261y2dAQhOp9NNmTKlvLz866+/vu8h5OZx1mhmZubKlSvPnz+fnZ0dGxsbERExbdo0pUNBAZMmTbp48eKYMWMSExP79OnzySefKJ0IyktOTv7+++/379/v7u4eERExfvz46OhopUNBYQsWLEhISJgwYYLxhiTOzs7Lli271+TmUYR5eXl79+41PQwMDIyJiVEwD5RSX1+/ZcuWs2fPhoeHx8XF8eE5JEk6cuTImTNnTA/79u0bEhKiYB5Yg6NHj54+fdr00MHB4ZVXXrnX5OZRhAAAWAh/UAMAhEYRAgCERhECAIRGEQIAhEYRAgCERhECAIRGEQLWa9++ffv27Ws4Ultbu3379lu3bj38yn/66afk5OQHmVldXb19+/by8vKH3yhghfgeIWC9YmJiDAZDw3uKLlmyZNWqVefOnbO1fdjrI86ZM2f16tWlpaUPMjk6OrpHj+jFyAgAAAaYSURBVB6LFy9+yI0CVog9QqDZKC8v//DDD//yl788fAv+f82ZM2fFihVXr16VebuADChCwCKqq6sLCgoafuJy8+bNe32kWVtbe/Pmzfuuc9OmTVqtdtSoUWbXUFhYeK/7UjWx6Ubq6+sLCgoqKysbjQ8aNOiJJ55Yu3btg6wEaF4oQuCRyc3NdXd3T0pKGjt2bMuWLX18fIz1s3bt2oCAgNatW3t4eHTu3Dk1NdX0ko0bNz799NMODg6tW7d2dXUdPXp0SUnJvdaflJQ0cODAFi1amEZCQkLi4+Pj4+M1Go23t7evr+/mzZsbvmTr1q2BgYHGTXfq1CklJeVeK6+pqXnnnXc8PDx8fHxatmz5/PPP5+XlmZ61sbGJjY1NTEz8bT8ZwJpRhMAjo9PpSktLZ8+ebW9vn5KSsnv3buM176dNmzZmzJgTJ06kp6cHBwcPGTIkKyvL+JKCgoJp06YdPXr07NmzK1asSE1NnTx5stmVl5eXnzx5smfPno0G169fn5aW9u233x47dqxXr16TJk367rvvjM/u2LFj/Pjx4eHhaWlpP/zwg4eHx0svvfTjjz+aXX9cXFxiYuLChQuzsrJ27dp17dq1gQMH1tTUmCb07NnzypUrOTk5D/+DAqyLAcAjcvHiRUmSnnvuOdNIRUWFq6vr9OnTTSNarbZdu3a///3vza5h/fr1KpWqrKzM+HDAgAGmtR05ckSSpH/9618N5/v4+LRo0eLWrVvGh7W1tf7+/gMGDDA+jIiICAoKqq+vNz4sLy/XaDRDhgwxPoyPj2/VqpVx2biT+uWXX5rWfP78eZVKtXXrVtNIenq6JEn//Oc//18/E8D6WcuNeYHHRmxsrGn56NGjFRUV/v7+Dc/8fPLJJ017hJIknThxIiUlpaCgoK6urrCw0GAwXLp0KSIiotFqi4uLJUlyd3dvNP7ss89qNBrjsp2d3csvv7x161ZJknQ6XVZW1jvvvKNWq43PtmzZcvDgwTt37rw78969e21sbJycnBrmbNWqVcOcxltnFxUVPfiPAmgWKELgEfP29jYtFxYWSpK0cOFCUxsZ+fv7Gxdef/31NWvW9O/fv0OHDhqNprq6WpIks9/YM54pevfpMA03J0mSj49PSUlJdXV1SUlJbW2tj49Pw2d9fX0rKiq0Wq2Dg0PDcWPOSZMmNVp5wyTGTd/3Zt9As0MRAo+YSqUyLbu5uUmS9M9//tPsraRv3Ljx2WefLV269J133jGO7Ny5c+PGjWZX6+XlJUnS3afSGPcUTW7evNmyZUsnJycXF5e7ny0qKnJycmrUgsacarX6xo0bxtt5m2VclTEG8DjhZBnAgqKiouzt7bdv32722cuXL0uSFBkZaRrZvXv3vVbVpUsXJyenhjfdNjp48GBVVZVx2WAw7N27NzQ0VJIkjUYTHBy8a9cu00ytVvvtt99GRUXdvfJ+/frV1dXt2LGjiX9LZmamJEldu3ZtYg7QHFGEgAV5enrOmjVr3bp1CQkJubm51dXV2dnZK1euXL9+vSRJwcHBjo6OS5YsKSwsLC0tXbp06bZt2+61KgcHh759+6alpTUar6qqmjJlyvXr12/evDlz5sxz5869/fbbxqdmz56dkZHx9ttv5+fn5+XlTZo06caNG7Nnz7575bGxsb169XrjjTc2bNhQVFT066+/ZmRkJCQkGE+QMUpLSwsNDW30WSvwOFD6bB3g8WE8a7ThuZcGg0Gn03344YfGz0iN2rZtu2XLFuOzSUlJpu8FdunSJSkpSZKk1NRU47MNzxo1GAzbtm1Tq9X5+fmmER8fn+nTp8fFxRnXYG9vP3/+/IZbX7BggbOzs/FZjUazfv1601MNzxo1GAylpaUTJkxoeM2aiIiIrKws47NVVVVubm4ff/zxo/lJAdaEa40Ccqirqzt37lxNTY2vr6+vr2/Dp27fvn3x4kVnZ+fg4OBGr9Lr9ZIk2djYmFYSHBz82muv/eUvfzGOtGnTZtSoUR9//PG1a9du3LjRvn170xmkJlVVVWfPnrW1te3UqZO9vb1p3PgrwLRyo4qKigsXLtjZ2fn5+RlPEzXasGHDn/70p19++aVhowOPB4oQaE62b98+Y8aMX375pWXLllKDIrToRnU6XadOnd54440//OEPFt0QoAjOGgWak5EjR0ZGRsr8HQa9Xr9nz562bdvKuVFANuwRAs3Ypk2b2rVr16tXL6WDAM0YRQgAEBpfnwAACI0iBAAIjSIEAAjtfwGe+pSVbfuAsQAAAABJRU5ErkJggg==",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"
"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(path1re, path1im, xlabel=\"real(pole)\", ylabel=\"imag(pole)\", label=\"path1\",\n",
" legend=(0.5, 0.54), xlims=[-1.0, 2.0], ylims=[-6.0, 6.0])"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "cb9a9d0f",
"metadata": {},
"outputs": [],
"source": [
"poles2 = [pole2(t) for t in range]\n",
"path2re = [real(p) for p in poles2]\n",
"path2im = [imag(p) for p in poles2]\n",
"poles3 = [pole3(t) for t in range]\n",
"path3re = [real(p) for p in poles3]\n",
"path3im = [imag(p) for p in poles3];"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "db97de12",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"
"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot!(path2re, path2im, label=\"path2\")\n",
"plot!(path3re, path3im, label=\"path3\")"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "6c344c6e",
"metadata": {},
"outputs": [],
"source": [
"# savefig(\"figrootlocuskappa2.png\")"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "72d59a16",
"metadata": {},
"outputs": [],
"source": [
"range = 0:0.01:3\n",
"poles1 = [pole1(t) for t in range]\n",
"path1re = [real(p) for p in poles1]\n",
"path1im = [imag(p) for p in poles1];\n",
"poles2 = [pole2(t) for t in range]\n",
"path2re = [real(p) for p in poles2]\n",
"path2im = [imag(p) for p in poles2]\n",
"poles3 = [pole3(t) for t in range]\n",
"path3re = [real(p) for p in poles3]\n",
"path3im = [imag(p) for p in poles3];"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "60829605",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"
"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(path1re, path1im, label=\"path1\", xlabel=\"real(pole)\", ylabel=\"imag(pole)\",\n",
" legend=(0.5, 0.54), xlims=[-1.0, 2.0], ylims=[-6.0, 6.0])\n",
"plot!(path2re, path2im, label=\"path2\")\n",
"plot!(path3re, path3im, label=\"path3\")"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "161db427",
"metadata": {},
"outputs": [],
"source": [
"# savefig(\"figrootlocuskappa3.png\")"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "8bca9df5",
"metadata": {},
"outputs": [],
"source": [
"range = 0:0.01:5\n",
"poles1 = [pole1(t) for t in range]\n",
"path1re = [real(p) for p in poles1]\n",
"path1im = [imag(p) for p in poles1];\n",
"poles2 = [pole2(t) for t in range]\n",
"path2re = [real(p) for p in poles2]\n",
"path2im = [imag(p) for p in poles2]\n",
"poles3 = [pole3(t) for t in range]\n",
"path3re = [real(p) for p in poles3]\n",
"path3im = [imag(p) for p in poles3];"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "0ebc656e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"image/svg+xml": [
"\n",
"\n"
],
"text/html": [
"
"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(path1re, path1im, label=\"path1\", xlabel=\"real(pole)\", ylabel=\"imag(pole)\",\n",
" legend=(0.5, 0.54), xlims=[-1.0, 2.0], ylims=[-6.0, 6.0])\n",
"plot!(path2re, path2im, label=\"path2\")\n",
"plot!(path3re, path3im, label=\"path3\")"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "ab3f1bce",
"metadata": {},
"outputs": [],
"source": [
"# savefig(\"figrootlocuskappa5.png\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.12",
"language": "julia",
"name": "julia-1.12"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}