在极坐标下容易想到,使半径收敛到常数
R
R
R 即可
r
˙
=
−
r
(
r
2
−
R
2
)
θ
˙
=
ω
\dot{r} = -r(r^2-R^2)\\ \dot{\theta} = \omega
r˙=−r(r2−R2)θ˙=ω
其中 R , ω R,\omega R,ω 为极限环的半径和角速度
转化成直角坐标:
x
˙
=
(
r
cos
θ
)
′
=
r
˙
cos
θ
−
r
sin
θ
θ
˙
=
−
r
(
r
2
−
R
2
)
cos
θ
−
r
ω
sin
θ
=
−
x
(
x
2
+
y
2
−
R
2
)
−
ω
y
\begin{aligned} \dot{x} &= (r\cos\theta)' = \dot{r}\cos\theta - r\sin\theta\dot{\theta}\\ &=-r(r^2-R^2)\cos\theta- r \omega \sin\theta \\ &= -x(x^2+y^2-R^2) - \omega y \end{aligned}
x˙=(rcosθ)′=r˙cosθ−rsinθθ˙=−r(r2−R2)cosθ−rωsinθ=−x(x2+y2−R2)−ωy
y
˙
=
(
r
sin
θ
)
′
=
r
˙
sin
θ
+
r
cos
θ
θ
˙
=
−
r
(
r
2
−
R
2
)
sin
θ
+
r
ω
cos
θ
=
−
y
(
x
2
+
y
2
−
R
2
)
+
ω
x
\begin{aligned} \dot{y} &= (r\sin\theta)' = \dot{r}\sin\theta + r\cos\theta\dot{\theta}\\ &= -r(r^2-R^2)\sin\theta + r \omega \cos\theta \\ &= -y(x^2+y^2-R^2) + \omega x \end{aligned}
y˙=(rsinθ)′=r˙sinθ+rcosθθ˙=−r(r2−R2)sinθ+rωcosθ=−y(x2+y2−R2)+ωx
即
x
˙
=
−
x
(
x
2
+
y
2
−
R
2
)
−
ω
y
y
˙
=
−
y
(
x
2
+
y
2
−
R
2
)
+
ω
x
\begin{aligned} \dot{x} &= -x(x^2+y^2-R^2) - \omega y\\ \dot{y} &= - y(x^2+y^2-R^2) + \omega x \end{aligned}
x˙y˙=−x(x2+y2−R2)−ωy=−y(x2+y2−R2)+ωx
不妨令 R = 1 , ω = 1 R=1,\omega=1 R=1,ω=1,用 matlab 画相图如下:
clc;clear;close;
[x,y]=meshgrid(linspace(-3,3));
h=streamslice(x,y, -y-x.*(x.^2+y.^2-1), x -y.*(x.^2+y.^2-1));
title('Limit Circle')
xlabel('x');ylabel('y');
xlim([-3,3]);ylim([-3,3]);
set(h,'Color','k')
axis equal
hold on
theta=0:pi/30:2*pi;
x1=cos(theta);y1=sin(theta);
plot(x1,y1,'r--')
clc;clear;close;
[x,y]=meshgrid(-1.5:0.2:1.5,-1.5:0.2:1.5);
u=-y-x.*(x.^2+y.^2-1);
v=x-y.*(x.^2+y.^2-1);
hadl=quiver(x,y,u,v)
title('Limit Circle')
set(hadl,'Color','k')
axis equal
xlabel('x');ylabel('y');
xlim([-1.5,1.5]);ylim([-1.5,1.5]);
hold on
theta=0:pi/30:2*pi;
x1=cos(theta);y1=sin(theta);
plot(x1,y1,'r--')