1. 课程导入与相平面基础
在控制工程与非线性动力学中,我们习惯用时间响应曲线来观察系统:给一个初始条件,画出输出随时间变化的波形,看它是否收敛、是否振荡、超调多大。这种“时间域视角”直观,却有一个天然的局限——时间被画在横轴上,系统的全部运动信息被压缩成一条随时间展开的曲线,我们很难一眼看清“不同初始条件会把系统带到哪里”“轨迹在状态空间中如何绕行”“极限环是否存在”。相平面方法正是为了解决这类问题而生的:它把时间从坐标轴上“隐去”,改用系统的状态变量本身构成平面,让运动轨迹以几何曲线的形式直接呈现。
本课程围绕相平面轨迹与相图可视化展开,共 30 章。第一章的任务不是推导公式,而是建立三件事:相平面到底是什么、它相对于时间响应方法的价值在哪里、以及后续章节将沿着怎样的技术路线逐步深入。学完本章,你应当能够用自己的话解释相轨迹与相图的区别,能够为一个二阶系统手工构造相平面草图的基本要素,并知道在什么场景下应当优先选择相平面分析而不是单纯看时域波形。
一、从时间响应到状态空间
考虑一个典型的二阶系统,例如质量-弹簧-阻尼系统,其运动方程为 m·ẍ + c·ẋ + k·x = 0。若取状态变量 x₁ = x(位移)、x₂ = ẋ(速度),则可写成两个一阶方程组成的状态方程组:ẋ₁ = x₂,ẋ₂ = −(k/m)x₁ − (c/m)x₂。这里的状态变量选择不是唯一的,但“位移 + 速度”是最常用、物理意义最清晰的一组。
所谓相平面,就是以 x₁ 为横轴、x₂ 为纵轴构成的二维平面。系统在任意时刻的状态对应平面上的一个点,称为相点;随着时间推进,相点在平面上移动,划出的曲线就是相轨迹。注意一个关键约定:相轨迹上的箭头表示时间增大的方向,而曲线本身不携带时间刻度——同一条轨迹上不同区段的“快慢”无法从几何形状直接读出,这是相平面方法与时间响应最本质的差别,也是后续分析中必须时刻记住的参照约定。
对于上述线性系统,若取 m = 1、k = 4、c = 0.4(示例参数,用于教学演示),则阻尼比约为 0.1,属于欠阻尼。从初始状态 (x₁, x₂) = (1, 0) 出发,相轨迹会呈现为一条向内盘旋的螺旋线,最终收敛到原点。原点处 ẋ₁ = ẋ₂ = 0,系统不再运动,称为平衡点。这条螺旋线的几何特征——盘旋方向、收敛速度、每圈收缩的比例——恰好对应时域中的振荡频率与衰减包络,但它是“一次性看全所有初始条件行为”的视角。
二、相轨迹与相图:两个容易混淆的概念
初学者常把“相轨迹”和“相图”当作同义词,实际上二者是局部与整体的关系。相轨迹是单条曲线,对应一个确定的初始条件;相图则是把一族不同初始条件对应的相轨迹画在同一张平面上,形成对系统全局行为的刻画。相图里通常还会标出平衡点、分界线、极限环等特殊结构。可以这样理解:相轨迹回答“从这一点出发会怎样走”,相图回答“整个平面上所有可能的运动如何组织”。
这个区分有实际意义。在工程调试中,如果你只关心某个具体工况(比如给定初始偏差后的恢复过程),画一条相轨迹就够了;但如果你要判断系统是否存在自持振荡、吸引域边界在哪里、参数变化会不会导致稳定性突变,就必须看相图。后续章节中关于极限环、分界线、吸引子的讨论,全部建立在“相图是整体对象”这一认识之上。
三、相平面方法在动态系统分析中的定位
相平面方法并不是要取代时域分析或频域分析,而是提供第三种互补的视角。它的优势集中在三类问题上:其一,非线性系统。线性系统可以用传递函数和特征根统一处理,但非线性系统没有统一的频域工具,相平面却能直接画出轨迹,观察是否存在极限环、是否出现多平衡点。其二,大范围行为。小信号线性化只在平衡点附近有效,而相图能展示远离平衡点时的全局结构。其三,几何直觉。工程师通过观察轨迹的走向、密集程度、是否闭合,往往能快速判断系统类型,这种直觉是纯代数分析难以替代的。
它的局限同样需要明确:相平面本质上适用于二阶系统(两个状态变量才能构成平面)。对于三阶及以上系统,严格意义上的相平面不再存在,只能借助相空间投影或降维近似。此外,相轨迹不直接给出时间信息,若需要定量计算调节时间、峰值时间,仍需回到时域。因此本课程的定位是:把相平面作为分析与可视化工具,与时间响应配合使用,而不是孤立地使用。
四、本课程的整体框架
后续内容大致沿三条线索展开。第一条是构造线索:如何从微分方程或状态方程出发,确定平衡点、判断轨迹走向、绘制等倾线与相图草图,并进一步用数值方法生成精确轨迹。第二条是解读线索:如何从相图的几何特征读出稳定性、振荡性、极限环与分界线,如何区分稳定焦点、稳定节点、鞍点等平衡点类型。第三条是可视化线索:如何用绘图工具把相轨迹与相图清晰呈现,包括坐标范围选择、箭头标注、多轨迹叠加、参数扫描对比等实操细节。
为了让第一条线索落地,这里先给出一个可以立即动手的最小示例。仍取前述系统,用欧拉法在纸面或脚本中推进:设步长 h = 0.05,从 (1, 0) 出发,每一步按 x₁ ← x₁ + h·x₂、x₂ ← x₂ + h·(−4x₁ − 0.4x₂) 更新。推进若干步后把点连起来,你会看到一条向内收的折线,步长越小越接近光滑螺旋。这个练习的价值不在于精度,而在于让你亲手体会“相点如何被状态方程推动”——这正是后续所有相图绘制的底层机制。
最后强调一个贯穿全课程的约定:本课程所有相平面图中,横轴为第一个状态变量(通常为位移或偏差),纵轴为第二个状态变量(通常为速度或变化率),轨迹箭头一律表示时间增大方向。若某章因对象特点改用其他状态变量组合,会在该章开头明确说明,全文与图示保持一致。带着这个约定进入后续学习,你就能把每一张相图读成系统行为的“地图”,而不是一堆无意义的曲线。