%%html
<style type="text/css">
input.good:checked + label {color: green}
input.bad:checked + label {color: red}
input.good:checked + label::after {color: green; content: ' Õige vastus!'}
input.bad:checked + label::after {color: red; content: ' Vale vastus!'}
</style>
Pideva dünaamilise süsteemi trajektoori $t \mapsto \underline{x}(t)$ nimetatakse perioodiliseks, kui on olemas $T > 0$ nii, et iga $t$ korral kehtib $\underline{x}(t + T) = \underline{x}(t)$, ja $T$ on kõige väiksem positiivne arv selle omadusega. $T$ nimetatakse trajektoori perioodiks.
Oluline on märkida, et püsipunkt $\underline{x}(t) = \underline{x}_*$ ei ole antud definitsiooni järgi perioodiline trajektoor. Nimelt kehtib püsipunkte puhul iga $T$ korral $\underline{x}(t + T) = \underline{x}(t)$, seega ei ole kõige väiksemat positiivset sellist arvu $T$. Definitsioon aga nõuab, et periood on kõige väiksem positiivne $T$, ja järelikult et $\underline{x}(t + T') \neq \underline{x}(t)$ iga $T'$ korral vahemikus $0 < T' < T$.
Kui $t \mapsto \underline{x}(t)$ on pideva süsteemi trajektoor, siis on tema ω-piirhulk defineeritud kui
$$\lim_{\omega}\underline{x} = \bigcap_{t \in \mathbb{R}}\overline{\{\underline{x}(t'): t' > t\}},$$ja tema α-piirhulk on
$$\lim_{\alpha}\underline{x} = \bigcap_{t \in \mathbb{R}}\overline{\{\underline{x}(t'): t' < t\}}.$$See tähendab, et $\underline{y} \in \lim_{\omega}\underline{x}$ täpselt siis kui on olemas jada $(t_n, n \in \mathbb{N})$ nii et $\lim_{n \to \infty}t_n = \infty$ ja $\lim_{n \to \infty}\underline{x}(t_n) = \underline{y}$.
Samuti kehtib $\underline{y} \in \lim_{\alpha}\underline{x}$ täpselt siis kui on olemas jada $(t_n, n \in \mathbb{N})$ nii et $\lim_{n \to \infty}t_n = -\infty$ ja $\lim_{n \to \infty}\underline{x}(t_n) = \underline{y}$.
Perioodilist trajektoori $t \mapsto \underline{x}(t)$ nimetatakse piirtsükliks siis, kui ta on teise trajektoori piirhulk. Täpsemalt saame eristada:
Selles näites vaatame kahemõõtmelisi süsteeme, millel on piirtsükkel. Faasiprtreede joonistamiseks kasutame NumPy ja PyPlot.
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
Süsteemi faasiruum, millega me tegeleme, on $Q = \mathbb{R}^2$. Dünaamikat kirjeldab võrrandsüsteem
\begin{align} \dot{x} &= -x \cdot f(x^2 + y^2) - y\\ \dot{y} &= -y \cdot f(x^2 + y^2) + x \end{align}Siin $f$ on vaba funktsioon.
Kõigepealt uurime, kus asuvad süsteemi püsipunktid. Tingimusest $\dot{y} = 0$ järeldub $x = y \cdot f(x^2 + y^2)$. Koos tingimusega $\dot{x} = 0$ järeldub sellest
$$\begin{split} 0 &= y + x \cdot f(x^2 + y^2)\\ &= y + y \cdot \left[f(x^2 + y^2)\right]^2\\ &= y \cdot \left\{1 + \left[f(x^2 + y^2)\right]^2\right\} \end{split}$$Kuna liige sulgudes on alati positiivne, peab kehtima $y = 0$, ja seega ka $x = 0$. Sellest järeldub, et ainus püsipunkt on (0, 0).
Paneme tähele, et $r^2 = x^2 + y^2$ kohta kehtib
$$\begin{split} \frac{d}{dt}r^2 &= \frac{d}{dt}(x^2 + y^2)\\ &= 2x\dot{x} + 2y\dot{y}\\ &= -2x^2 \cdot f(x^2 + y^2) - 2xy - 2y^2 \cdot f(x^2 + y^2) + 2xy\\ &= -2(x^2 + y^2) \cdot f(x^2 + y^2)\\ &= -2r^2 \cdot f(r^2). \end{split}$$Sellest järeldub:
Eriti huvitav on juht $r > 0$ ja $f(r^2) = 0$. Sel juhul on $r$ konstantne, $\dot{r} = 0$, aga me juba teame, et ainus püsipunkt on $r = 0$. Järelikult peab trajektoor olema kontstantse raadiusega ringjoon. Kui me kirjutame
\begin{align} x &= r\cos\phi,\\ y &= r\sin\phi, \end{align}siis leiame, et sel juhul kehtib
\begin{align} r\cos\phi &= x = \dot{y} = \dot{\phi}r\cos\phi\\ r\sin\phi &= y = -\dot{x} = \dot{\phi}r\sin\phi \end{align}Siit näeme, et kehtib $\dot{\phi} = 1$. Sellest järeldub, et trajektoor on perioodiline, ja periood on $T = 2\pi$.
Selleks et paremini näha, mis faasiruumis toimub, joonistame faasiportreesid erinevate funktsioonide $f$ puhul. Defineerime selleks funktsiooni.
def splot(f):
ff = np.vectorize(f)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_aspect('equal', 'box')
ax.set_xlabel('x')
ax.set_ylabel('y')
X = np.linspace(-1.9, 1.9, 101)
Y = np.linspace(-1.9, 1.9, 101)
XX, YY = np.meshgrid(X, Y)
RR = XX ** 2 + YY ** 2
DX = -YY - XX * ff(RR)
DY = XX - YY * ff(RR)
ax.streamplot(XX, YY, DX, DY, color='b')
Kui $f$ on identselt 0, siis iga trajektoor, millel on $r > 0$, on perioodiline. Iga trajektoor on samuti oma ω-piirhulk kui α-piirhulk. Piirtsükleid ei ole, kuna ükski perioodiline trajektoor ei ole teise trajektoori piirhulk.
splot(lambda r: 0)
Sel juhul on $r = 1$ perioodiline trajektoor. Kuna $\dot{r} < 0$ kui $r > 1$ ja $\dot{r} > 0$ kui $0 < r < 1$, lähenevad teised trajektoorid perioodilisele trajektoorile. Perioodiline trajektoor on nende trajektooride ω-piirhulk, ja seega stabiilne piirtsükkel.
splot(lambda r: r - 1)
Sel juhul on $r = 1$ perioodiline trajektoor. Kuna $\dot{r} > 0$ kui $r > 1$ ja $\dot{r} < 0$ kui $0 < r < 1$, kaugenevad teised trajektoorid perioodiliselt trajektoorilt. Perioodiline trajektoor on nende trajektooride α-piirhulk, ja seega ebastabiilne piirtsükkel.
splot(lambda r: 1 - r)
Ka sel juhul on $r = 1$ perioodiline trajektoor. Kuna kehtib $\dot{r} < 0$ kui $r \notin \{0, 1\}$, lähenevad trajektoorid $r > 0$, ja trajektoorid $0 < r < 1$kaugenevad. Sellest järeldub, et trajektoor $r = 1$ on pool-stabiilne piirtsükkel.
splot(lambda r: (1 - r) ** 2)