ODE Note 2:一阶非自洽周期系统的定性研究 | Feixiang Tao
ODE and Dynamical Systems 2026-03-18 · 6 min read

ODE Note 2:一阶非自洽周期系统的定性研究

1. 研究对象:一个周期驱动的 logistic 型方程

书上的例子是

x˙=(1x)xh(1sin(2πt)),h0.\dot{x} = (1-x)x - h\bigl(1-\sin(2\pi t)\bigr), \qquad h \ge 0.

这里有两个部分:

  • (1x)x(1-x)x:标准 logistic 增长项。
  • h(1sin(2πt))-h(1-\sin(2\pi t)):周期驱动项。

因为 sin(2πt)\sin(2\pi t) 的周期是 11,所以右端满足

f(t+1,x)=f(t,x).f(t+1,x) = f(t,x).

这就是一个 1-周期非自治系统


2. 我们真正想研究什么

对于这种系统,最自然的问题不是“能不能解出来”,而是:

  1. 有没有 11-周期解?
  2. 周期解最多能有几个?
  3. 如果有两个,它们分别稳定还是不稳定?
  4. 一般初值的解,会不会被某条周期解吸引?
  5. 参数 hh 增大时,会不会有某个临界值让周期解消失?

这些问题看起来都不像“显式解问题”,更像“全局行为与结构问题”。 这就是为什么它开始有动力系统 / research 的味道。


3. 第一个关键对象:流映射 ϕ(t,x)\phi(t,x)

ϕ(t,x)\phi(t,x)

表示:在 t=0t=0 以初值 xx 出发,经过时间 tt 后解的取值。

所以:

  • ϕ(0,x)=x\phi(0,x)=x
  • ϕ(1,x)\phi(1,x):表示 11 个周期后的位置
  • ϕ(n,x)\phi(n,x):表示 nn 个周期后的位置

4. Poincare 映射:一周期后你落在哪里

定义

P(x)=ϕ(1,x).P(x) = \phi(1,x).

这就是 Poincare 映射

它的意思非常朴素:

从时刻 t=0t=0 的位置 xx 出发, 跑完整整一个周期以后,你会到哪里?

这就把一个连续时间系统压缩成了一个离散迭代:

x,  P(x),  P2(x),  P3(x),  x,\; P(x),\; P^2(x),\; P^3(x),\; \dots

其中

Pn(x)=ϕ(n,x).P^n(x)=\phi(n,x).

也就是说,迭代 PP,本质上就是每隔一个周期“频闪观察”系统一次。


5. 为什么周期解对应于 Poincare 映射的不动点

这一步是整个理论的基础。

如果某个初值 x0x_0 对应的解是 11-周期的,那么它满足

ϕ(t+1,x0)=ϕ(t,x0),t.\phi(t+1,x_0) = \phi(t,x_0), \qquad \forall t.

特别取 t=0t=0,得到

ϕ(1,x0)=ϕ(0,x0)=x0.\phi(1,x_0) = \phi(0,x_0) = x_0.

也就是

P(x0)=x0.P(x_0)=x_0.

反过来,如果 P(x0)=x0P(x_0)=x_0,也就是

ϕ(1,x0)=x0,\phi(1,x_0)=x_0,

那么考虑函数 tϕ(t+1,x0)t \mapsto \phi(t+1,x_0)。由于方程对时间是 11-周期的,这个函数也满足同一个微分方程。而它在 t=0t=0 时的初值是

ϕ(1,x0)=x0=ϕ(0,x0).\phi(1,x_0)=x_0=\phi(0,x_0).

由初值问题的唯一性,得到

ϕ(t+1,x0)=ϕ(t,x0),t.\phi(t+1,x_0)=\phi(t,x_0), \qquad \forall t.

所以它就是一条 11-周期解。

因此:

1-周期解    Poincare 映射 P 的不动点\boxed{\text{1-周期解} \iff \text{Poincare 映射 } P \text{ 的不动点}}

这特别漂亮:连续时间里的周期轨道,被压缩成了一个一维映射的不动点问题。


6. 更进一步:逼近周期解 = 迭代 PP 收敛到不动点

这一点是我今天最喜欢的地方之一。

我们当然不只想知道“有没有周期解”,更想知道:

一般解会不会趋向某个周期解?

现在有了 PP,这个问题自然就变成:

Pn(x) 会不会收敛到某个不动点?P^n(x) \text{ 会不会收敛到某个不动点?}

因为如果

Pn(x)x,P^n(x)\to x_*,

PP 连续,那么

P(x)=x,P(x_*)=x_*,

所以 xx_* 一定是不动点,也就对应一条周期解。

而且不只是整数时刻。对任意 s[0,1]s\in[0,1],有

ϕ(n+s,x)=ϕ(s,ϕ(n,x))=ϕ(s,Pn(x)).\phi(n+s,x)=\phi\bigl(s,\phi(n,x)\bigr)=\phi\bigl(s,P^n(x)\bigr).

如果 Pn(x)xP^n(x)\to x_*,那么由解对初值的连续依赖,

ϕ(n+s,x)ϕ(s,x).\phi(n+s,x)\to \phi(s,x_*).

ϕ(s,x)\phi(s,x_*) 正是那条 11-周期解上的点。

所以:

连续时间轨道趋于一条周期解 等价于 离散迭代 Pn(x)P^n(x) 趋于对应的不动点

这真的是一个非常漂亮的降维 / 降复杂度过程。


7. 研究 PP 的第一步:它是递增的

现在的问题是:我们根本不知道 PP 长什么样。 那怎么分析它?

书里的做法是对初值求导。

θ(t,x)=xϕ(t,x).\theta(t,x)=\frac{\partial}{\partial x}\phi(t,x).

原方程是

ϕ˙=(1ϕ)ϕh(1sin(2πt)).\dot{\phi}=(1-\phi)\phi-h\bigl(1-\sin(2\pi t)\bigr).

对初值 xx 求导,得到变分方程

θ˙=(12ϕ)θ,θ(0,x)=1.\dot{\theta}=(1-2\phi)\theta, \qquad \theta(0,x)=1.

这是一个线性方程,可以直接解:

θ(t,x)=exp(0t(12ϕ(s,x))ds).\theta(t,x)=\exp\left(\int_0^t (1-2\phi(s,x))\,ds\right).

于是取 t=1t=1,得到

P(x)=θ(1,x)=exp(1201ϕ(s,x)ds)>0.P'(x)=\theta(1,x)=\exp\left(1-2\int_0^1 \phi(s,x)\,ds\right)>0.

因此

P(x)>0\boxed{P'(x)>0}

也就是说:

P 是严格递增函数。\boxed{P \text{ 是严格递增函数。}}

直觉

这意味着:

初值大的解,一周期后仍然更大。

这和一维 ODE 解轨道不相交的直觉一致。 从相线上看,解不会“交换顺序”。


8. 第二步:它还是严格凹函数

继续对 P(x)P'(x) 求导,书上得到

P(x)=2(01θ(s,x)ds)P(x)<0.P''(x)=-2\left(\int_0^1 \theta(s,x)\,ds\right)P'(x)<0.

因为:

  • θ(s,x)>0\theta(s,x)>0
  • P(x)>0P'(x)>0

所以整个表达式是负的。

于是

P(x)<0\boxed{P''(x)<0}

也就是说:

P 是严格凹函数。\boxed{P \text{ 是严格凹函数。}}

这意味着什么

在一维里,“递增 + 凹”是一个非常强的几何限制。

因为现在要找周期解,就是找

P(x)=xP(x)=x

也就是 PP 与直线 y=xy=x 的交点。

而一个严格凹函数与一条直线最多只有两个交点。 于是得到:

1-周期解至多有两个。\boxed{\text{1-周期解至多有两个。}}

这一点非常爽:根本没解方程,只是看 PP 的凹性,就得到周期解的数量上界。


9. 第三步:看参数 hh 怎么影响 PP

如果想研究分岔,必须看 hh 改变时 PP 怎么变。

定义

ψ(t,x)=hϕ(t,x).\psi(t,x)=\frac{\partial}{\partial h}\phi(t,x).

对原方程关于 hh 求导,得到

ψ˙=(12ϕ)ψ(1sin(2πt)),ψ(0,x)=0.\dot{\psi}=(1-2\phi)\psi-\bigl(1-\sin(2\pi t)\bigr), \qquad \psi(0,x)=0.

解这个线性方程,可得

ψ(t,x)=0texp(st(12ϕ(r,x))dr)(1sin(2πs))ds<0.\psi(t,x) =-\int_0^t \exp\left(\int_s^t (1-2\phi(r,x))\,dr\right) \bigl(1-\sin(2\pi s)\bigr)\,ds <0.

于是取 t=1t=1,得到

hPh(x)<0.\frac{\partial}{\partial h}P_h(x)<0.

也就是说:

h 增大时,Ph(x) 整体向下移动。\boxed{h \text{ 增大时,} P_h(x) \text{ 整体向下移动。}}

10. 当 h=0h=0 时:起始图像

h=0h=0,方程退化成普通 logistic:

x˙=(1x)x.\dot{x}=(1-x)x.

这时可以显式算出

P0(x)=ex1+(e1)x.P_0(x)=\frac{e x}{1+(e-1)x}.

它有两个不动点:

x1=0,x2=1.x_1=0, \qquad x_2=1.

所以在 h=0h=0 时,已有两个 11-周期解,事实上就是常值解。


11. 随 hh 增大:发生什么

现在综合前面的信息:

  • PhP_h 严格递增;
  • PhP_h 严格凹;
  • PhP_hhh 增大整体下移。

于是几何上很清楚:

hh

PhP_hy=xy=x 有两个交点。 所以有两个周期解。

某个临界值 hch_c

两个交点并合成一个切点。

大于临界值

曲线整体压到 y=xy=x 下方,不再有交点。 于是没有周期解。

这就是一个非常标准的 鞍结分岔(saddle-node bifurcation) 图像。


12. 若 h>hch>h_c:所有解都趋于 -\infty

因为这时对所有 xx,都有

P(x)<x.P(x)<x.

所以迭代序列

x,  P(x),  P2(x),  x,\; P(x),\; P^2(x),\; \dots

严格下降。

如果它有下界,那么极限必须满足 P(x)=xP(x_*)=x_*,也就是是不动点。 但现在没有不动点,所以不可能。

因此

Pn(x).P^n(x)\to -\infty.

也就是说:每过一个周期,状态都被往下推,最终所有解都掉到 -\infty


13. 若 h<hch<h_c:两个不动点的动力学含义

设此时有两个不动点

x1<x2.x_1<x_2.

由于 PP 递增且凹,标准一维几何告诉我们:

  • (x1,x2)(x_1,x_2) 上,P(x)>xP(x)>x,所以迭代会往上推。
  • (x2,+)(x_2,+\infty) 上,P(x)<xP(x)<x,所以迭代会往下推。
  • 因此所有 x>x1x>x_1 的初值都会被推向 x2x_2

另一方面,若 x<x1x<x_1,则仍有

P(x)<x,P(x)<x,

所以迭代持续下降,最终趋于 -\infty

因此:

limnPn(x)={x2,x>x1,x1,x=x1,,x<x1.\lim_{n\to\infty}P^n(x)= \begin{cases} x_2, & x>x_1, \\ x_1, & x=x_1, \\ -\infty, & x<x_1. \end{cases}

也就是说:

  • x2x_2 对应的周期解是稳定的。
  • x1x_1 对应的周期解是不稳定的。
  • 下方初值不会被周期解吸引,而是发散到 -\infty

14. 从整数时刻提升回连续时间

我们刚才分析的是

Pn(x)=ϕ(n,x),P^n(x)=\phi(n,x),

也就是整数时刻。

但因为解对初值连续依赖,而

ϕ(n+s,x)=ϕ(s,Pn(x)),s[0,1],\phi(n+s,x)=\phi(s,P^n(x)), \qquad s\in[0,1],

所以若 Pn(x)x2P^n(x)\to x_2,便有

ϕ(n+s,x)ϕ(s,x2).\phi(n+s,x)\to \phi(s,x_2).

换句话说:

不只是每个整周期的采样点趋于 x2x_2, 整条连续时间轨道都会渐近于由 x2x_2 生成的那条 11-周期轨道。

这就把离散结论重新翻译回连续时间。


15. 这一节真正让我觉得“有 research 味”的地方

我觉得不是因为这里用了什么高深技巧,而是因为它体现了一种非常像 research 的工作流:

Step 1

不直接算解,而是先问:什么对象能更好地压缩这个问题?

答案:Poincare 映射 PP

Step 2

周期解问题被转成不动点问题。

Step 3

趋于周期解问题被转成迭代收敛问题。

Step 4

不去显式算 PP,而是研究它的“中尺度性质”:

  • 单调性
  • 凹性
  • 参数依赖

Step 5

由这些结构信息,推导出:

  • 周期解最多两个
  • 它们如何消失
  • 哪个稳定哪个不稳定
  • 一般解的长期命运

这真的很像一种“先找正确对象,再做结构分析”的思维,而不是硬算。


16. 我自己的理解:Poincare 映射是一种频闪动力学

如果用我自己更直观的话来说:

周期驱动系统每时每刻都在变化,不太好直接看; 但既然驱动每隔 11 个单位时间重复一次, 那我就每隔 11 个单位时间拍一张“快照”。

于是我得到的不是一个连续流,而是一个离散系统:

xn+1=P(xn).x_{n+1}=P(x_n).

这就像一种 频闪观察(stroboscopic view)

从这个角度看:

  • 周期轨道就是“每次拍照都回到原点”的状态。
  • 趋于周期轨道就是“拍照序列收敛到某个定点”。
  • 更复杂的行为也会在 PP 的离散动力学里显现出来。

这个想法很迷人,因为它明显不只适用于这一个 logistic 例子,而是一整类周期驱动系统的通用方法。


17. 结论

对周期方程

x˙=(1x)xh(1sin(2πt)),\dot{x}=(1-x)x-h\bigl(1-\sin(2\pi t)\bigr),

定义一周期 Poincare 映射

P(x)=ϕ(1,x).P(x)=\phi(1,x).

则:

  1. 11-周期解恰好对应 PP 的不动点。
  2. 一般解是否趋于周期解,可通过研究 Pn(x)P^n(x) 是否趋于某个不动点来判断。
  3. PP 是严格递增且严格凹的,因此不动点至多两个。
  4. 随参数 hh 增大,PhP_h 整体下移,于是两个周期解在某个临界值并合消失。
  5. h<hch<h_c 时,上方周期解稳定,下方周期解不稳定;当 h>hch>h_c 时,所有解趋于 -\infty

18. 最后一句

今天这节让我最开心的,不是“我学会了一个技巧”,而是第一次很明确地感到:

研究问题时,真正关键的往往不是硬算,而是找到一个更有结构的中层对象。

在这里,这个对象就是 Poincare 映射。


参考

  • Chicone, C. Ordinary Differential Equations with Applications. 2nd ed., Springer, 2006. — Poincaré 映射的严格处理
  • Strogatz, S. H. Nonlinear Dynamics and Chaos. 2nd ed., Westview Press, 2015. — 分岔理论的直观入门
  • Guckenheimer, J. & Holmes, P. Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector Fields. Springer, 1983. — 鞍结分岔的经典参考
END

Series: ODE and Dynamical Systems

  1. 1. ODE Note 1:从一般线性 k 阶微分方程到一阶自治系统的动力学视角
  2. 2. ODE Note 2:一阶非自洽周期系统的定性研究
  3. 3. ODE Note 3:初值问题分析

Comments