1. 课程导入与全景认识

在非线性动力学、振动分析、天体力学、生态模型乃至电路与激光系统中,我们经常遇到一类特殊运动:系统状态经过一段时间后精确回到出发点,并且此后不断重复。这种运动在状态空间中表现为一条闭合曲线,称为周期轨道(periodic orbit),也叫闭轨或极限环(当它孤立且具有吸引性时)。本课程的目标,是让你既能“认出”周期轨道,又能用数值方法把它“算出来”,并进一步沿参数变化追踪它的演化——这就是识别与延拓。

先建立最基本的语言。考虑一个自治常微分方程组

dx/dt = f(x, μ),  x ∈ R^n,  μ ∈ R^m

若存在 T>0 与解 x(t),使得对任意 t 都有 x(t+T)=x(t),则称该解为周期解,最小正周期 T 称为周期。在状态空间中,它对应一条闭合曲线 Γ。注意三个容易混淆的点:第一,周期轨道是状态空间中的几何对象,不是时间序列图上的“波浪”;第二,周期 T 是未知量,必须和解一起求;第三,闭合曲线上的每一点都满足“经过 T 时间后回到自身”,这为数值求解提供了核心约束。

周期轨道在动力系统中扮演什么角色?它是理解系统全局结构的骨架。稳定极限环刻画自持振荡(如心脏起搏、电子振荡器);不稳定周期轨道虽然不可长期观测,却组织着混沌吸引子内部的轨道结构,是混沌控制与预测的重要工具;在参数空间中,周期轨道会经历倍周期分岔、鞍结分岔、同宿或异宿分岔,从而改变系统定性行为。因此,识别周期轨道往往是从“看波形”走向“懂结构”的关键一步。

那么“识别”与“延拓”分别指什么?识别(detection)是在给定参数下判断是否存在周期轨道,并给出周期与轨道形状的初值估计;延拓(continuation)则是把已求得的周期解作为起点,沿某个参数 μ 逐步变化,连续追踪解分支,记录周期、稳定性与分岔点。二者构成一条完整工作链:建模 → 初值估计 → 打靶/配置求解 → 稳定性判定 → 参数延拓 → 分岔识别。下图给出这一全景流程及各环节的输入输出关系。

周期轨道识别与数值延拓:整体工作链 ① 建模 f(x,μ) 与参数 μ 确定状态维数 n ② 初值估计 时程/相图/庞加莱截面 得到 x₀ 与 T 的猜测 ③ 打靶求解 F(x₀,T)=φ_T(x₀)−x₀=0 牛顿迭代 + 相位条件 ④ 稳定性判定 单值矩阵 M=Φ_T(x₀) Floquet 乘子 |λᵢ| ⑤ 参数延拓 预测-校正,步长自适应 追踪 (x₀,T,μ) 分支 ⑥ 分岔识别 乘子穿越单位圆 倍周期/鞍结/环面 ⑦ 结果输出 轨道形状、周期曲线 稳定性与分岔图 初值不佳或延拓失败时,回到②重新估计 核心未知量:轨道起点 x₀(n 维)、周期 T;约束:φ_T(x₀)=x₀ 加一个相位固定条件,共 n+1 个方程

理解这张图的关键,是抓住“未知量与约束”的对应关系。打靶法把周期解转化为一个非线性方程组:未知量为 x₀(n 个分量)和 T,共 n+1 个;方程 φ_T(x₀)−x₀=0 提供 n 个,但周期轨道上任意一点都可作为起点,解不唯一,因此还需补充一个相位条件(例如令 x₀ 的某个分量等于给定值,或要求 x₀ 与 f(x₀) 正交),凑成 n+1 个方程。这一步想清楚,后面的牛顿迭代才不会“方程数对不上”。

举个可手算的示例帮助建立直觉。取二维系统

dx/dt = -y + x(1 - x² - y²)
dy/dt =  x + y(1 - x² - y²)

在极坐标下可化为 r' = r(1−r²),θ' = 1。显然 r=1 是一个周期轨道,周期 T=2π。若我们假装不知道解析解,用打靶法:取初值 x₀=(1.1, 0),T 猜测为 6.0,积分一个周期后得到 φ_T(x₀),与 x₀ 的差作为残差,牛顿迭代会同时修正 x₀ 与 T,最终收敛到 r=1、T≈6.2832。这个例子虽简单,却完整演示了“猜测—积分—残差—修正”的闭环,也是本课程后续所有数值实验的起点。

稳定性判定同样重要。沿周期轨道积分一个周期的变分方程,得到单值矩阵(monodromy matrix)M。其特称为 Floquet 乘子。自治系统的周期轨道必有一个乘子等于 1(对应沿轨道的相位方向),其余乘子决定横向稳定性:全部落在单位圆内则轨道稳定,有乘子穿出单位圆则发生分岔。延拓时,我们正是通过监测乘子随参数的变化来定位分岔点,而不是靠肉眼观察波形“突然变了”。

本课程的学习路径按“概念—工具—实践—综合”递进展开。前期建立周期轨道、庞加莱映射、Floquet 理论等概念基础;中期掌握打靶法、配置法、预测-校正延拓与步长控制等数值工具;后期通过标准测试系统(如 Van der Pol 振子、Duffing 系统、Lorenz 系统)完成从识别到延拓的完整实操,并学会阅读分岔图、判断数值结果的可信度。学习时建议始终带着三个问题:未知量是什么?约束够不够?结果如何验证?

学习建议:每学一种方法,都用同一个简单系统(如上面的极坐标圆轨道)手算或编程复现一次,把“解析已知答案”作为校验基准,再迁移到没有解析解的系统。这样能快速建立对收敛性、步长与误差的直觉。

最后明确本课程的边界与约定:我们讨论的是自治连续时间系统的周期轨道,离散映射的不动点与周期点作为平行工具在需要时引入;数值实验中的参数、初值与结果均为教学示例或合理假设,不冒充实测数据;所有方向与符号约定在首次出现时说明,并在全文与图示中保持一致。掌握这套全景,你就具备了进入后续各章的方法论框架。