考研851 自动控制原理
讲解笔记

第20讲 第9章:状态空间模型、状态转移矩阵、能控性与能观性

💬看不懂?点右下角蓝色「提问」按钮,AI 助教基于本套资料回答,会告诉你出处在哪一讲(需先登录)。

0. 先说一句最要紧的话:这一讲你要不要花力气

先给结论,再给证据,别让你把时间投错地方。

证据:我把 01_结构化/考点分析/ 下全部 12 个文件做了全文检索,搜"状态""现代"两个词,零命中。里面写明的常考大题是"时域分析、校正、根轨迹、离散、非线性、Bode图",考纲条目列的是"1数学模型 ~ 7非线性系统分析"。也就是说,在我手上这份 851 材料里,看不到任何要考第9章(现代控制理论)的迹象

视频里老师也是这么说的(要点转述,原话见转录第6-8段):前八章是"经典控制理论",第九、十章是"现代控制理论";考现代控制的学校,指定教材通常也不是胡寿松这本;第十章(动态规划)考研基本不出。

所以本讲的定位是:低优先级 / 选学。建议这样安排:

  • 如果你离考试还早、想把知识框架补全 → 正常看,能有个"哦原来还有另一套语言"的整体观,对理解前八章反而有好处。
  • 如果时间紧 → 只看本讲第1节和第2节(状态空间是什么、状态方程输出方程在说什么),剩下的先跳过,把时间还给根轨迹、Bode、校正、离散。
  • 【存疑·待核】北方工大 851 的官方考试大纲原件我没拿到,只有学长的"考点分析"。如果你能拿到官方大纲,确认一下里面有没有"状态空间"字样,再决定要不要真啃这一章。

下面正文我按"就算你要学,也能从零学会"的标准写。不会因为它不考就写得潦草,但我会把"这句只是知道有这回事"和"这句要会算"分开标出来。


1. 从零开始:第9章跟前八章到底不一样在哪

1.1 前八章你一直在干什么(先把旧知识唤醒)

回顾一下你前面十九讲学的东西,它们其实全部围绕同一件事:

系统有一个输入(你给它的信号,比如给电机加的电压),有一个输出(它的反应,比如电机转速),你想知道"给了这个输入,输出会怎么变"。

为了回答它,你学了三种"语言"来描述系统:

描述语言 在哪个"域" 长什么样 学在第几章
微分方程 时域 \(T\dot y + y = Ku\) 这类 第2章
传递函数 \(G(s)\) 复域(拉氏域) \(\dfrac{Y(s)}{U(s)}\) 第2章
频率特性 \(G(j\omega)\) 频域 Bode 图、奈氏图 第5章

【补前置】"域"这个字不神秘,就是"看问题的坐标系"。同一个系统,在时域里你看的是"随时间怎么变",在复域里你看的是"用 \(s\) 这个复数变量表示的代数式",在频域里你看的是"对不同频率的正弦波反应多大、滞后多少"。三种是同一个东西的三种写法,能互相翻译。

然后你用这些模型分析两类性能: - 稳态性能:先问稳不稳(稳定性,劳斯判据/奈氏判据),稳了再问准不准(稳态误差 \(e_{ss}\))。 - 暂态性能:快不快(调节时间 \(t_s\)),稳不稳当(超调量 \(\sigma\%\),即"冲过头多少")。

最后第6章你学了校正,也就是"设计"——给系统加个装置让它变好。

【补前置】老师在视频里反复用两个词:分析综合。"分析"=系统已经给定,我来算它的性能好不好;"综合"=性能指标给定,我来设计一个系统/控制器去达到它。综合就是设计,是分析的反过程。前八章 90% 在分析,只有第6章在综合。

1.2 前八章有一个"隐藏的前提"

这是本讲第一个关键点,请慢读。

前八章你写的每一个传递函数 \(G(s)=\dfrac{Y(s)}{U(s)}\),分子是一个输出,分母是一个输入。它天然只能描述单输入单输出系统(英文缩写 SISO,Single Input Single Output)。

【补前置】什么叫多输入多输出(MIMO)?举个你能摸到的例子:一架四旋翼无人机,输入是 4 个电机的转速(4 个输入),输出是它的俯仰角、横滚角、偏航角、高度(4 个输出)。再比如一个精馏塔,输入是加热量和回流量,输出是塔顶浓度和塔底浓度。关键麻烦在于"耦合":你动其中一个输入,好几个输出会同时变。

这时候传递函数就不好使了——你只写一个 \(Y(s)/U(s)\),根本装不下"4 个输入怎么同时影响 4 个输出"。硬要写,就得写 16 个传递函数,还得手工盯着它们互相牵扯。

第9章就是为解决这个而生的:换一套模型语言,叫状态空间,天生能装多输入多输出。

【你可能会以为】既然状态空间更强,那前八章是不是白学了、被淘汰了? 但其实不是。因为:①考研考的绝大部分是 SISO,传递函数更直观好算;②状态空间和传递函数可以互相转换(本讲第6节就讲怎么转),不是取代关系,是同一个系统的第四种语言;③根轨迹、Bode 这些强大的图解工具,是长在传递函数上的,状态空间里没有对应物。 因为工程上是"哪个顺手用哪个",不是"新的干掉旧的"。

1.3 第9章的整体地图(先看地图再走路)

老师这一讲基本是在"报菜名",把整章框架过一遍。框架是这样的三步走,跟前八章完全同构:

  1. 建模:建立状态空间表达式(对应前八章的"列微分方程/求传递函数")
  2. 分析:运动分析(求解)、能控性能观性、稳定性(李雅普诺夫)
  3. 综合(设计):极点配置、状态观测器、二次型最优控制

其中能控性、能观性是前八章完全没有的新概念——这是第9章真正的新东西,也是本讲后半段的重点。稳定性和综合部分,老师放到下一讲(第21讲)了。

【补前置】"极点配置"这个词先混个脸熟:前面你知道系统的动态性能由闭环极点位置决定(第4章根轨迹整章都在画极点跑哪去)。"极点配置"就是反过来——我先说我想要极点落在哪(比如想要某个阻尼比),然后设计一个反馈,把极点硬"搬"到那里去。这是第21讲的内容,本讲不用会。


2. 状态、状态变量、状态空间表达式(本讲最核心,慢讲)

2.1 用一个生活例子先建立直觉

想象你在开车,现在有人问你:"从此刻起,如果我告诉你接下来每一秒你怎么踩油门,你能不能算出车往后的全部运动?"

你需要知道什么?你需要知道此刻的位置此刻的速度。知道了这两个数,加上未来的油门信息,后面的运动就完全定了。你不需要知道车三分钟前在哪、昨天开了多远——那些历史信息,已经全部"浓缩"进"当前位置+当前速度"这两个数里了。

这两个数,就是这辆车的状态

状态的本质:能把"过去"打包封存的最小信息量。 有了它,未来只取决于状态+未来输入,不再取决于历史。

2.2 三个正式定义(逐个拆)

老师给的定义(要点转述,原话见转录第47-49段):

状态:系统在时域中的行为和运动信息的集合。 ——大白话:此刻系统"内部长什么样"的一整套描述。

状态变量:能够完全确定系统状态的一组独立的变量。这里"独立"的意思是数目最小:多了是浪费,少了不够用。 ——大白话:上面开车例子里的"位置"和"速度"这两个量,就是状态变量。你要再加一个"位置的两倍"当第三个变量,那是浪费(它不独立,由位置直接算得出);你要只留"位置"不留速度,那不够用(算不出未来)。

状态向量:把 \(n\) 个状态变量摞成一列,写成 $\(\boldsymbol{x}(t)=\begin{bmatrix}x_1(t)\\ x_2(t)\\ \vdots \\ x_n(t)\end{bmatrix}\)$

【补前置·向量与矩阵】你可能高数忘光了,这里就地补最小够用的一块: - 向量就是一列(或一行)数,比如 \(\begin{bmatrix}3\\5\end{bmatrix}\) 表示"位置3、速度5"。它没什么玄学,就是"把几个数捆在一起,方便一次性搬运"。 - 矩阵就是一个数表,\(m\)\(n\) 列。比如 \(A=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\)。 - 矩阵乘向量:\(A\boldsymbol{x}\) 的第 \(i\) 个分量 = A 的第 \(i\) 行与 \(\boldsymbol{x}\) 逐项相乘再相加。例:\(\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\begin{bmatrix}3\\5\end{bmatrix}=\begin{bmatrix}0\cdot3+1\cdot5\\ -2\cdot3+(-3)\cdot5\end{bmatrix}=\begin{bmatrix}5\\-21\end{bmatrix}\)。 - 单位矩阵 \(I\):对角线全是1、其余全是0的方阵,作用相当于数字里的"1",\(AI=IA=A\)。 - 转置 \(A^{T}\):把矩阵沿左上-右下对角线翻个面,行变列列变行。 - 秩 rank:一个矩阵里"真正独立的行(或列)有几行"。比如 \(\begin{bmatrix}1&2\\2&4\end{bmatrix}\),第二行是第一行的2倍,不独立,所以秩=1,不是2。秩这个概念后面判能控能观时天天用,一定要记住:秩 = 独立信息的条数。 - 线性相关 / 线性无关:上面说的"独立",正式名字叫线性无关。两个向量线性相关,就是"其中一个是另一个的倍数",比如 \(\begin{bmatrix}1\\2\end{bmatrix}\)\(\begin{bmatrix}2\\4\end{bmatrix}\)——它们指着同一个方向,第二个没带来任何新方向。多个向量线性相关,就是"其中某一个可以由其余几个乘上系数再加起来拼出来"(这叫线性组合);谁也拼不出谁,就叫线性无关。 - 张成(span):给你几个向量,把它们各乘任意系数再相加,能拼出来的所有点的集合,就叫这几个向量张成的空间。例:平面上 \(\begin{bmatrix}1\\0\end{bmatrix}\)\(\begin{bmatrix}0\\1\end{bmatrix}\) 张成整个平面(任何点都拼得出);而 \(\begin{bmatrix}1\\2\end{bmatrix}\)\(\begin{bmatrix}2\\4\end{bmatrix}\) 只张成一条直线(因为它俩线性相关,只有一个方向),平面上直线以外的点永远拼不到,这就是"死角"把三个词串起来:\(n\)\(n\) 维向量线性无关 \(\iff\) 它们排成的矩阵秩 = \(n\) \(\iff\) 它们张满整个 \(n\) 维空间。 第7节判能控性时的"秩不够 \(n\) 就有推不到的死角",说的正是这件事。 - 行列式 det(只对方阵有):一个方阵算出来的一个,记作 \(\det A\)\(|A|\)。 - 2×2:\(\det\begin{bmatrix}a&b\\c&d\end{bmatrix}=ad-bc\)(主对角线乘积 减 副对角线乘积)。例:\(\det\begin{bmatrix}0&1\\1&-3\end{bmatrix}=0\times(-3)-1\times1=-1\)。 - 3×3:按第一行展开——\(\det\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}=a_{11}M_{11}-a_{12}M_{12}+a_{13}M_{13}\),其中 \(M_{1j}\)划掉第1行第 \(j\) 列后剩下的那个 2×2 的行列式。注意符号是 \(+,-,+\) 交替的,这是最容易错的地方。 - 它有什么用(这条最重要):对方阵有一条等价链—— $\(\det A\neq 0\iff A\ \text{满秩(秩=行数)}\iff A\ \text{可逆}\iff A\ \text{的各列(行)线性无关}\)$ 为什么等价?直觉上,行列式的几何意义是"这些列向量围出来的面积/体积"。如果它们线性相关(挤在同一条线上),围出的面积就是 0,行列式就 = 0;只有它们真的张开成 \(n\) 个方向,面积才不为零。 - 为什么本讲反复要它:后面所有秩判据,真动手算的时候用的唯一工具就是它——2×2、3×3 的方阵,与其做行变换数秩,不如直接算行列式,不为零就是满秩。第7节、第4.3节的求逆公式、第3.3节的特征值方程,全都建立在这条上。

2.3 状态空间表达式:两条方程

这是整章的地基公式,我一句一句拆。

状态方程: $\(\dot{\boldsymbol{x}}(t)=A\boldsymbol{x}(t)+B\boldsymbol{u}(t)\)$

这式子在说什么:状态"往哪变、变多快",由两件事共同决定——一是它现在处在什么状态(\(A\boldsymbol{x}\) 项,系统自身的内在演化倾向),二是你现在给了多大的输入(\(B\boldsymbol{u}\) 项,外界的推动)。

每个符号是什么: - \(\boldsymbol{x}(t)\):状态向量,\(n\) 维(\(n\) 个状态变量)。物理意义:系统此刻的内部情况。 - \(\dot{\boldsymbol{x}}(t)\):\(\boldsymbol{x}\) 对时间的导数。【补前置·导数】导数就是"变化率"。位置的导数是速度(位置变多快),速度的导数是加速度。\(\dot{\boldsymbol{x}}\) 上面那个点就是"对时间求导"的简写,读作"x dot"。所以状态方程左边读作"状态的变化速度"。 - \(\boldsymbol{u}(t)\):输入向量,\(r\) 维(\(r\) 个输入)。SISO 时它退化成一个数。 - \(A\):系统矩阵/状态矩阵,\(n\times n\)。它刻画系统的"内在性格"——没人推它的时候它自己怎么演化。系统稳不稳、快不快,主要看 \(A\) - \(B\):输入矩阵/控制矩阵,\(n\times r\)。它刻画"你的输入通过什么路径、以多大力度作用到各个状态上"。

怎么用:给定初始状态 \(\boldsymbol{x}(0)\) 和输入 \(\boldsymbol{u}(t)\),解这个方程就得到 \(\boldsymbol{x}(t)\)——这就是第5节要干的事。

输出方程: $\(\boldsymbol{y}(t)=C\boldsymbol{x}(t)+D\boldsymbol{u}(t)\)$

这式子在说什么:你能测量到的输出,是由"系统内部状态"和"当前输入"两者拼出来的。

符号: - \(\boldsymbol{y}\):输出向量,\(m\) 维。你的传感器能读到的量。 - \(C\):输出矩阵,\(m\times n\)。它刻画"每个状态在输出里占多大分量"、"哪些状态根本露不出来"。 - \(D\):直接传递矩阵/前馈矩阵,\(m\times r\)。刻画输入不经过系统内部、直接窜到输出上的那部分。绝大多数实际物理系统 \(D=0\)(因为输入要影响输出总得经过系统的惯性,不可能瞬间穿透)。

怎么用:状态解出来后代进去就得到输出。

这两条方程合起来叫状态空间表达式,也叫动态方程。

【难点】为什么非要拆成两条方程?一条不行吗? - 难在哪:初学者觉得"我要的不就是输出吗,写一条 \(y\) 的方程不就完了"。 - 为什么难:因为你被前八章的传递函数思维绑住了——传递函数只关心输入到输出,把系统内部当黑箱。 - 正确理解:状态空间的整个价值就在于打开黑箱\(\boldsymbol{x}\) 是内部,\(\boldsymbol{y}\) 是外部能看到的部分。两者往往不等:内部有 5 个状态,你可能只能测到 2 个输出。正因为"内部"和"能看到的"分开了,才可能问出两个前八章根本问不出的问题:内部的每个状态,我推得动吗(能控性)?内部的每个状态,我从外面看得出来吗(能观性)? 这两个问题就是第9章的灵魂。

【你可能会以为】\(A\)\(B\)\(C\)\(D\) 是四个抽象字母,背下形状就行。 但其实它们各自有清楚的物理分工,记住这句口诀就不会混: \(A\) = 内部对内部(系统自己怎么演化);\(B\) = 输入对内部(你怎么推它);\(C\) = 内部对外部(你怎么看它);\(D\) = 输入对外部(直通)。 因为这四个分工正好对应"推得动吗(A、B)""看得见吗(A、C)"两个核心问题,所以后面能控性判据只用到 \(A,B\),能观性判据只用到 \(A,C\)——这不是巧合,是必然

2.4 "线性""定常"这两个词的意思

  • 线性:状态方程和输出方程是线性的(变量只以一次方出现,没有 \(x^2\)\(\sin x\)\(x\cdot u\) 这种)。
  • 定常(视频字幕把"定常"听成了"定长",是 ASR 错误,正确写法是定常):\(A,B,C,D\) 四个矩阵里的元素全是常数,不随时间变。 【补前置】"定常"的反面是"时变"。举例:一枚火箭在飞行中不断烧掉燃料,质量 \(m\) 一直在减小,那么它的运动方程系数就随时间变,是时变系统。而一个电阻电容都固定的电路,系数不变,就是定常系统。本章(和整本书)绝大部分只讨论线性定常系统(LTI)。

2.5 状态变量怎么选:一个至关重要的"唯一/不唯一"

老师强调了三条(要点转述,原话见转录第52-53段):

  1. 状态变量必须独立
  2. 状态变量的个数唯一:\(n\) 阶系统就是 \(n\) 个,不多不少。
  3. 状态变量的选取不唯一:同一个系统,你可以选不同的量当状态。

举老师给的例子:一个 LC 电路,你可以选电容两端电压 \(u_C\)电感电流 \(i_L\) 当状态;也可以选别的组合。选法不同,得到的 \(A,B,C,D\) 也不同,但描述的是同一个系统。

【补前置】为什么电路里习惯选 \(u_C\)\(i_L\)?因为这两个量是储能元件里存的能量的体现:电容存的能量是 \(\frac12 C u_C^2\),电感存的是 \(\frac12 L i_L^2\)。而"状态"的本质就是"系统内部现在存了什么"。凡是能存东西的地方(储能元件),就是状态变量的来源。 同理机械系统里选位移(弹簧存的势能)和速度(质量存的动能)。这条经验规律比死记有用得多。

【难点】"个数唯一但选取不唯一"最容易搞反,这是选择题的常见坑。 - 难在哪:两个"唯一"字挨在一起,容易记串。 - 正确理解:类比一下——描述房间里一个点的位置,必须用 3 个数(个数唯一,因为空间是三维的),但你可以用直角坐标 \((x,y,z)\),也可以用球坐标 \((r,\theta,\varphi)\)(选取不唯一)。系统的"阶数 \(n\)"就像空间维数,是系统固有的,坐标系随你挑。

2.6 建立状态空间表达式的几条途径

老师列了(要点转述): 1. 由物理机理(牛顿定律、基尔霍夫定律等)直接列 2. 由微分方程 / 微分方程组 3. 由差分方程(离散系统) 4. 由传递函数 / 脉冲传递函数 5. 由结构图 / 信号流图

【补前置·牛顿第二定律】\(F=ma\),合外力=质量×加速度。用来列机械系统方程。 【补前置·基尔霍夫定律】电路两条基本规则:①流进一个节点的电流之和 = 流出的之和(电流守恒);②沿任一闭合回路,各段电压升降加起来为零(能量守恒)。用来列电路方程。这两条第2章你已经用过。

老师还提醒了一个小而重要的点(转录第54段):在框图/信号流图里,\(1/s\) 代表积分,\(s\) 代表微分。 【补前置·积分器】"积分"就是"把过去累加起来"。速度积分得到位移(把每一瞬的速度累加,得到走了多远)。积分器是状态空间里最核心的元件——因为每个积分器的输出,天然就是一个状态变量(它存着"到现在为止累积了多少"),所以画状态变量图时,有几个积分器就有几个状态变量,系统就是几阶的。这是一条极好用的直觉。

【补前置·状态变量图】就是把状态空间表达式画成方框图(积分器 + 加法器 + 增益)的那张图,本质上和第2章的结构图是一回事,只不过画的是状态方程而不是传递函数。


3. 三种标准型(SISO 系统由传递函数写状态空间)

这一节是本章计算题的常客(如果考的话)。老师讲了三种:可控标准型、可观标准型、约当(对角)标准型。

设已知 SISO 系统的传递函数可以写成"一个常数 + 一个真分式"的形式: $\(G(s)=d+\frac{b_{n-1}s^{n-1}+\cdots+b_1 s+b_0}{s^{n}+a_{n-1}s^{n-1}+\cdots+a_1 s+a_0}\)$

这式子在说什么:任何一个分子次数不高于分母的传递函数,都能用多项式除法拆成"常数项 \(d\)"加"分子次数严格低于分母的真分式"。 ② 符号:\(a_i\) 是分母(特征多项式)的系数,\(b_i\) 是分子的系数,\(n\) 是系统阶数,\(d\) 是那个常数项。 ③ 怎么用:\(a_i\) 决定 \(A\),\(b_i\) 决定 \(C\),\(d\) 就是 \(D\)

【补前置·真分式】分子最高次 < 分母最高次,叫真分式。为什么总能拆出来?因为如果分子次数 = 分母次数,做一次多项式除法就能除出一个常数 \(d\),余下的就是真分式了。 【补前置·特征多项式】分母那个多项式 \(s^n+a_{n-1}s^{n-1}+\cdots+a_0\)。让它=0 解出的根就是极点,决定系统稳不稳、动态快不快——这是第3、4章反复用的老朋友。

3.1 可控标准型(能控标准 I 型)

\[A=\begin{bmatrix} 0&1&0&\cdots&0\\ 0&0&1&\cdots&0\\ \vdots& & &\ddots&\vdots\\ 0&0&0&\cdots&1\\ -a_0&-a_1&-a_2&\cdots&-a_{n-1} \end{bmatrix},\quad B=\begin{bmatrix}0\\0\\\vdots\\0\\1\end{bmatrix},\quad C=[\,b_0\ b_1\ \cdots\ b_{n-1}\,],\quad D=d\]

在说什么:这是一种"标准填空模板"——拿到传递函数,把系数往固定位置一填,状态空间表达式就出来了,不用动脑子推导。 ② 符号/结构怎么记: - \(A\)主对角线上方那条斜线全是 1(老师说的"对角一出现,从第二列开始"),其余位置为 0; - 只有最后一行有内容,是分母系数从常数项 \(a_0\) 开始、从左往右排、全部取相反数,即 \([-a_0,\ -a_1,\ \cdots,\ -a_{n-1}]\); (措辞对照:转录第57段老师的原话是"从右到左从常数项开始"。这和上面这句不矛盾——老师说的是在传递函数分母多项式上数系数的方向:分母写成 \(s^n+a_{n-1}s^{n-1}+\cdots+a_1s+a_0\) 时,常数项 \(a_0\)最右端,所以是"从右往左"数;而把它们写进矩阵最后一行时,是从左往右排成 \(-a_0,-a_1,\cdots,-a_{n-1}\)。一个说的是读的方向,一个说的是写的方向,别被绕住。) - \(B\) 是"末位为 1、其余全 0"的一列; - \(C\) 就是分子系数,\(b_0\) 开始从左往右排(注意是从低次到高次,别排反); - \(D\) 就是拆出来的那个常数 \(d\)。 ③ 怎么用:考题给你 \(G(s)\),让你"写出能控标准型的动态方程",直接套。

【难点】符号和顺序两个坑。 - 难在哪:最后一行为什么带负号?顺序为什么是从 \(a_0\)\(a_{n-1}\) 而不是反过来? - 为什么难:因为这是"结果",教材通常直接给,不讲来由,学生只能死记,一紧张就记反。 - 正确理解(第一步:\(A\)\(B\) 的来由):负号来自把微分方程移项。取 \(n=2\) 亲手验一次你就永远不会记反了。 ⚠️ 先说清适用范围:下面这段推导做的是"分子是常数"的特例(\(b_1=0\),即 \(G(s)=\dfrac{b_0}{s^2+a_1s+a_0}\))。它只用来解释 \(A\) 的斜线 1 和最后一行的负号、以及 \(B\) 为什么末位是 1,不解释 \(C\)。分子含 \(s\) 的一般情形另见下一段——别拿这段去推 \(C\),推不出来,不是你的问题。 推导:分母 \(s^2+a_1s+a_0\) 对应微分方程 \(\ddot y+a_1\dot y+a_0 y=u\)。令 \(x_1=y,\ x_2=\dot y\),则 \(\dot x_1=x_2\)(这就是那条斜线上的 1),\(\dot x_2=\ddot y=-a_0 x_1-a_1 x_2+u\)(负号从移项来,系数顺序自然是 \(-a_0\) 在前对应 \(x_1\)\(-a_1\) 在后对应 \(x_2\);而 \(u\) 只出现在最后一条方程里,所以 \(B\) 只有末位是 1)。这两条写成矩阵,正好是模板里的 \(A\)\(B\)。 - 正确理解(第二步:\(C\) 的来由,也就是分子怎么进来的——这才是真难点): 上面令 \(x_1=y\) 只在分子为常数时成立。一旦分子含 \(b_1 s\),\(x_1=y\) 就不再成立了,必须引入一个中间变量 \(z\)。做法:把传递函数拆成两半 $\(\frac{Y(s)}{U(s)}=\underbrace{\frac{1}{s^2+a_1s+a_0}}_{\text{先由 }u\text{ 产生 }z}\cdot\underbrace{(b_1 s+b_0)}_{\text{再由 }z\text{ 产生 }y}\)$ 即令 \(Z(s)=\dfrac{U(s)}{s^2+a_1s+a_0}\),则 \(\ddot z+a_1\dot z+a_0 z=u\);而 \(Y(s)=(b_1s+b_0)Z(s)\),即 \(y=b_1\dot z+b_0 z\)。 现在取状态 \(x_1=z,\ x_2=\dot z\)——注意状态取的是 \(z\) 不是 \(y\)。于是: - 状态方程仍是 \(\dot x_1=x_2,\ \dot x_2=-a_0x_1-a_1x_2+u\),和第一步一模一样(分子完全没参与); - 输出方程 \(y=b_0 z+b_1\dot z=b_0x_1+b_1x_2\),写成矩阵就是 \(C=[\,b_0\ \ b_1\,]\)这就是"为什么分子系数只进 \(C\)、不进 \(A\)"的真正原因:分子只决定"怎么从内部状态取出输出",不参与"状态自己怎么演化"。 换句话说,\(A,B\) 由分母(极点)决定,\(C\) 由分子(零点)决定——这和你第4章"极点定动态、零点改形状"的印象是同一件事。 掌握难度诚实提示:中间变量 \(z\) 这一步,大多数教材直接跳过,是能控标准型推导里唯一真正的坎。第一遍看不懂很正常,卡点几乎都在"凭什么状态可以取 \(z\) 而不是 \(y\)"——答案是:状态变量本来就选取不唯一(见 2.5 节),只要它能把系统演化封装住即可,不必非是输出本身。

【你可能会以为】叫"可控标准型"是因为"这种形式看起来很规整、好控制"。 但其实这名字是有硬含义的:任何写成这个形式的系统,一定是状态完全能控的(用第7节的秩判据一算,\(\text{rank}[B\ AB\ \cdots]=n\) 必然成立)。因为这个结构里 \(B\) 只在最后一格有 1,而 \(A\) 的斜线会把这个 1 一级一级往上"顶",最终每个状态都能被输入触及。名字是描述性质,不是描述外观。

3.2 可观标准型(能控标准 II 型)

【存疑·待核·命名】老师把第二种形式同时称作"能控二型"和"可观标准型"(转录第58段原话:"第二种也叫能控二型或者可观标准型")。本节忠实沿用老师这个叫法。但要提醒你:胡寿松等教材的命名体系里,"能控标准 I 型 / II 型"和"能观标准 I 型 / II 型"是四个不同的形式,并非简单等同,而且不同教材对这四个名字的约定差异很大。 考试写答案时请以你自己的教材为准,或直接写出矩阵形式、避开名字之争。下面的内容(转置对偶关系、具体矩阵形状)是数学事实,不受命名分歧影响。

它和可控标准型是转置对偶关系。

\[A_{o}=A_{c}^{T},\qquad B_{o}=C_{c}^{T},\qquad C_{o}=B_{c}^{T},\qquad D_{o}=D_{c}\]

在说什么:把可控标准型的 \(A\) 转置(沿对角线翻面),\(B\)\(C\) 互换(并转置成对应形状),\(D\) 不变,就得到可观标准型。 ② 符号:下标 \(c\) 表 controllable(可控),\(o\) 表 observable(可观)。 ③ 怎么用:考题若给可控标准型让你转可观标准型,不必重推,直接翻面交换。

具体展开就是:\(A\) 的那条 1 从"主对角线上方"跑到"主对角线下方",分母系数那一列变成竖着排在最后一列;\(B\) 变成分子系数竖排 \([b_0\ b_1\ \cdots\ b_{n-1}]^T\);\(C\) 变成 \([0\ 0\ \cdots\ 0\ 1]\)

【补前置·对偶】"对偶"在数学里是指两个东西结构完全镜像、可以一一对换。这里的对偶不是巧合:"能不能推动"和"能不能看见"这两件事,在数学上是互相镜像的——推动走的是 \(B\) 这条路进系统,看见走的是 \(C\) 这条路出系统,把系统里的箭头全部反向,推动就变成了看见。这就是对偶原理,第7节还会用到。

3.3 约当标准型(对角标准型)

如果传递函数能做部分分式展开(把一个大分式拆成若干小分式之和),就能写成约当型。

【补前置·部分分式展开】这是你在第2、3章求拉氏反变换时已经用过的技术:比如 \(\dfrac{1}{(s+1)(s+2)}=\dfrac{1}{s+1}-\dfrac{1}{s+2}\)。把复杂分式拆成一堆 \(\dfrac{c_i}{s-\lambda_i}\) 的和,每一项都简单好处理。

  • 极点全是单根(互不相等)时:\(A\)对角阵——对角线上依次放各个极点 \(\lambda_1,\lambda_2,\cdots,\lambda_n\),其余元素全为 0。\(B\) 的各元素取 1(老师原话:单根部分 b 的系数都是 1),\(C\) 的各元素就是部分分式展开的待定系数(留数)。 $\(A=\begin{bmatrix}\lambda_1&&&\\&\lambda_2&&\\&&\ddots&\\&&&\lambda_n\end{bmatrix}\)$
  • 有重根时:重根那块凑成一个约当块——对角线上是同一个重根 \(\lambda_1\),紧邻的上方那条斜线上是 1;这一块对应的 \(B\) 元素只有该块最后一行为 1,其余为 0(老师举例:三重根就是第三行为 1,四重根就是第四行为 1)。

【补前置·特征值/极点/对角化】 - 矩阵 \(A\)特征值,就是让 \(\det(\lambda I-A)=0\) 成立的那些 \(\lambda\)。(\(\det\) 就是 2.2 节补的行列式;\(\lambda I-A\) 是把未知数 \(\lambda\) 乘上单位阵再减去 \(A\),得到一个元素含 \(\lambda\) 的方阵,算它的行列式得到一个 \(\lambda\)\(n\) 次多项式,令其为零解出的根就是特征值。具体怎么算,4.3 节第 3 种求法里有完整的二阶例子,可先跳去看。)对于状态空间系统,\(A\) 的特征值 = 系统的极点——这是连接第9章和前八章最重要的一根线。第3、4章你天天算的极点,在这里就是 \(A\) 的特征值。 - 对角化的意义:如果 \(A\) 是对角阵,状态方程就散成了 \(n\) 个互不干扰的一阶方程 \(\dot x_i=\lambda_i x_i + b_i u\),每一个都能单独求解。这就是为什么大家喜欢对角型:它把耦合解开了,把"一团纠缠的 \(n\) 阶系统"变成"\(n\) 个各管各的一阶系统"。 - 有重根时对角化不了(数学上做不到),只能退而求其次凑成约当块——对角线上一堆相同的 \(\lambda\),上方斜线补 1,表示"这几个状态之间还残留着解不开的耦合"。

掌握难度诚实提示:这三种标准型,第一遍看只会觉得是三堆莫名其妙的数字方阵,记不住太正常。卡点通常在两处:①分不清系数从左往右还是从右往左排;②搞不清 \(B\) 里那个孤零零的 1 该放哪一行。破法只有一个:\(n=2\)\(n=3\) 的具体传递函数,亲手推一遍,推完再看模板


4. 状态转移矩阵(本章最重要的一个概念)

4.1 直觉:它是什么

老师用了一个很好的图像(转录第64段):系统的状态在状态空间里画出一条轨线,\(t_0\) 时刻在 \(\boldsymbol{x}(t_0)\),\(t_1\) 时刻跑到 \(\boldsymbol{x}(t_1)\)从一个状态"搬"到另一个状态,遵循什么规律?这个规律就是状态转移矩阵。

一句话:状态转移矩阵是"时间的搬运工"——把 \(t_0\) 时刻的状态乘上它,就得到 \(t\) 时刻的状态(在没有外部输入的前提下)。

\[\boldsymbol{x}(t)=\Phi(t)\,\boldsymbol{x}(0)\]

【补前置·\(\Phi\) 的自变量到底是"时刻"还是"时间差"】这一点后面 4.4 会用到,先说清,否则你会被三个时刻的写法绕晕。 一般写法是 \(\Phi(t,t_0)\),两个自变量:从哪个时刻搬到哪个时刻,即 \(\boldsymbol{x}(t)=\Phi(t,t_0)\boldsymbol{x}(t_0)\)。 但线性定常系统(矩阵 \(A\) 不随时间变,见 2.4 节)有个好处:搬运效果只取决于"隔了多久",与"从几点开始"无关——从 1 秒搬到 3 秒,和从 10 秒搬到 12 秒,效果完全一样,因为系统的性格 \(A\) 一直没变。所以两个自变量塌缩成一个时间差:\(\Phi(t,t_0)=\Phi(t-t_0)=e^{A(t-t_0)}\)所以本讲里 \(\Phi(\cdot)\) 括号里装的一律是"时间差":\(\Phi(t)\)\(\Phi(t-0)\) 的简写(从 0 时刻起算),4.4 性质表里的 \(\Phi(t_2-t_1)\) 就是"从 \(t_1\) 搬到 \(t_2\)"。时变系统就没这个便利,必须老老实实写两个时刻——这是"定常"这个条件实实在在换来的好处。

4.2 它的表达式

对于线性定常系统,状态转移矩阵是 $\(\Phi(t)=e^{At}\)$

这式子在说什么:"e 的矩阵次方"。乍看很怪——指数上怎么能是个矩阵? ② 符号:\(A\) 是系统矩阵,\(t\) 是时间。 ③ 怎么理解(这里必须补课):

【补前置·为什么会冒出 \(e^{At}\)】先看最简单的一阶标量情形。\(\dot x=ax\)(没有输入),这个方程你在第3章解过,解是 \(x(t)=e^{at}x(0)\)。现在状态方程 \(\dot{\boldsymbol{x}}=A\boldsymbol{x}\) 长得一模一样,只是标量 \(a\) 换成了矩阵 \(A\)、标量 \(x\) 换成了向量 \(\boldsymbol{x}\)。所以解形式上照抄:\(\boldsymbol{x}(t)=e^{At}\boldsymbol{x}(0)\)\(e^{At}\) 就是标量 \(e^{at}\) 的矩阵版本,没有别的玄机。

【补前置·\(e^{At}\) 怎么定义】用幂级数(泰勒展开)。你在高数里学过 \(e^{x}=1+x+\dfrac{x^2}{2!}+\dfrac{x^3}{3!}+\cdots\)。把 \(x\) 换成 \(At\)、把开头的 1 换成单位矩阵 \(I\): $\(e^{At}=I+At+\frac{A^2t^2}{2!}+\frac{A^3t^3}{3!}+\cdots=\sum_{k=0}^{\infty}\frac{A^k t^k}{k!}\)$ 这里 \(A^k\) 就是 \(A\) 自乘 \(k\) 次(矩阵乘矩阵)。这就是老师说的"幂级数法"(字幕把"幂级数"听成了"密集数",是 ASR 错误)。

4.3 四种求法

老师说求法有四种,重点讲了其中三种(转录第65段原话:"它的求法有四种……那么,在这里,我们最常见的呢?是这样的三种")。下面四种都列出,标明哪三种是老师展开讲的。

  1. 幂级数法:直接按上面的级数硬算。缺点:是无穷项,一般只能算近似值,除非 \(A\) 有特殊结构(比如某次幂后变成零矩阵)使级数自动截断。
  2. 拉氏变换法(最常用): $\(\Phi(t)=e^{At}=\mathcal{L}^{-1}\left[(sI-A)^{-1}\right]\)$ ① 在说什么:先算矩阵 \((sI-A)\)逆矩阵,得到一个每个元素都是 \(s\) 的分式的矩阵,然后对每个元素逐个做拉氏反变换,得到的时间函数矩阵就是 \(\Phi(t)\)。 ② 符号:\(s\) 是拉氏变量,\(I\) 是单位矩阵,上标 \(-1\) 表示求逆,\(\mathcal{L}^{-1}\) 是拉氏反变换。 ③ 怎么用:考题给你一个 2×2 的 \(A\),你就:写出 \(sI-A\) → 求逆(2×2 求逆有公式:\(\begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\))→ 每个元素查拉氏反变换表 → 得到 \(\Phi(t)\)这是考试最可能考的算法,因为它有限步可完成。 【补前置·逆矩阵】\(A^{-1}\) 满足 \(AA^{-1}=I\),相当于数字里的"倒数"。上面公式里那个分母 \(ad-bc\) 不是凭空冒出来的,它就是 2.2 节讲的行列式 \(\det\begin{bmatrix}a&b\\c&d\end{bmatrix}\)。所以你立刻能看出:行列式为零时这个分式没意义,矩阵就不可逆——这正是 2.2 节那条等价链"\(\det\neq0\iff\) 可逆"在具体公式里的样子。前面那个 \(\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\)(对角对调、副对角变号)有个名字叫伴随矩阵,记作 \(\text{adj}\),6.1 节会再见到它。 【补前置·拉氏反变换】把 \(s\) 域的式子翻回时间域,靠查表 + 部分分式展开,你在第3章求阶跃响应时用过。常用的就几条:\(\dfrac{1}{s}\to 1\),\(\dfrac{1}{s+a}\to e^{-at}\),\(\dfrac{1}{s^2}\to t\)。 【难点】为什么是 \((sI-A)^{-1}\) 而不是 \(\dfrac{1}{s-A}\)?因为矩阵没有"除法",矩阵世界里"除以"只能写成"乘以逆矩阵"。同理不能写成 \(\dfrac{1}{sI-A}\)——那个记号在矩阵里没定义。
  3. 凯莱-哈密顿定理法(字幕作"凯莱哈密顿",正确)。这条本讲要讲透,因为第7.2节解释"能控性矩阵为什么算到 \(A^{n-1}\) 就停"时要用它当核心论据,前面不讲清后面就是空转。

【补前置·矩阵的"特征方程"】把 2.2 节的行列式用上:对 \(n\times n\) 方阵 \(A\),把 \(\lambda\) 当未知数,写出 $\(f(\lambda)=\det(\lambda I-A)=\lambda^{n}+c_{n-1}\lambda^{n-1}+\cdots+c_1\lambda+c_0\)$ 这是一个 \(n\) 次多项式,叫 \(A\)特征多项式;令它 \(=0\) 就是 \(A\)特征方程,它的根就是特征值(=系统极点,见 3.3 节)。 例:\(A=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\),\(\lambda I-A=\begin{bmatrix}\lambda&-1\\2&\lambda+3\end{bmatrix}\),按 2×2 行列式 \(ad-bc\) 算得 \(f(\lambda)=\lambda(\lambda+3)-(-1)(2)=\lambda^2+3\lambda+2\)。特征方程 \(\lambda^2+3\lambda+2=0\),根 \(\lambda_1=-1,\lambda_2=-2\)

凯莱-哈密顿定理:把特征多项式里的 \(\lambda\) 换成矩阵 \(A\) 本身,结果是零矩阵,即 \(A^{n}+c_{n-1}A^{n-1}+\cdots+c_1A+c_0I=O\)。俗称"矩阵满足自己的特征方程"。 (上例验证方向:\(A^2+3A+2I=O\),即 \(A^2=-3A-2I\)。) ① 这式子在说什么:\(A\)\(n\) 次幂可以降次——能被 \(I,A,\cdots,A^{n-1}\)\(n\) 项线性组合出来。既然 \(A^n\) 能降次,\(A^{n+1}=A\cdot A^n\) 也能,依此类推,所有 \(n\) 次及以上的幂,全都能由前 \(n\) 项拼出来,产生不了新东西。 ② 符号:\(c_i\) 是特征多项式的系数,\(O\) 是零矩阵(元素全为 0)。 ③ 怎么用(两处):(a) 把 \(e^{At}\) 的无穷级数截断成有限 \(n\);(b) 7.2 节论证"算到 \(A^{n-1}\) 就够"。

截断求 \(e^{At}\) 的做法:既然高次幂都能降下来,就一定能写成 $\(e^{At}=\alpha_0(t)I+\alpha_1(t)A+\cdots+\alpha_{n-1}(t)A^{n-1}\)$ - \(\alpha_m(t)\) 是什么:\(n\)只与时间有关的标量函数(是普通的数值函数,不是矩阵),它们是这个方法唯一的未知量。老师说"用凯莱-哈密顿定理时实际上是在求 \(\alpha_m(t)\) 的表达式",指的就是这个。 - 怎么解出来:关键一步是——上式对矩阵 \(A\) 成立,则把 \(A\) 换成它的每一个特征值 \(\lambda_i\) 也成立(因为两边都只是同一个多项式函数)。于是得到方程组: - 特征值互不相同(单根)时:每个 \(\lambda_i\) 给一条方程 \(e^{\lambda_i t}=\alpha_0+\alpha_1\lambda_i+\cdots+\alpha_{n-1}\lambda_i^{n-1}\),\(n\) 个特征值给 \(n\) 条方程,解 \(n\) 个未知数,刚好定得下来。 - 有重根时:重根只能给一条方程,不够用,差的方程用"对 \(\lambda\) 求导"补齐——即把上式两边对 \(\lambda\) 求一次导后再代入该重根(二重根补一条,三重根再补二阶导一条,依此类推)。 - 动手走一遍二阶例子(就用上面的 \(A\),\(\lambda_1=-1,\lambda_2=-2\),单根): 设 \(e^{At}=\alpha_0(t)I+\alpha_1(t)A\)。代两个特征值: $\(e^{-t}=\alpha_0-\alpha_1,\qquad e^{-2t}=\alpha_0-2\alpha_1\)$ 两式相减得 \(\alpha_1=e^{-t}-e^{-2t}\),回代得 \(\alpha_0=2e^{-t}-e^{-2t}\)。于是 $\(e^{At}=(2e^{-t}-e^{-2t})I+(e^{-t}-e^{-2t})\begin{bmatrix}0&1\\-2&-3\end{bmatrix}=\begin{bmatrix}2e^{-t}-e^{-2t}&e^{-t}-e^{-2t}\\-2e^{-t}+2e^{-2t}&-e^{-t}+2e^{-2t}\end{bmatrix}\)$ 想自查有没有算对,就用 4.4 的性质:令 \(t=0\) 看是不是单位阵——代入确实得 \(\begin{bmatrix}1&0\\0&1\end{bmatrix}\),对。 - 掌握难度诚实提示:这个方法第一遍最卡的地方是"凭什么能把矩阵换成特征值"。别硬钻,先记住操作、把二阶例子练熟;真要弄懂需要"矩阵多项式与最小多项式"的知识,超出本课范围。 4. 线性变换法(老师提到但未展开):先把 \(A\) 化成对角型(或约当型),对角型的 \(e^{At}\) 极容易写(对角线上直接是 \(e^{\lambda_i t}\)),再变回去。 【补前置·相似变换】"把 \(A\) 化成对角型"用的手段叫相似变换:找一个可逆矩阵 \(P\),算 \(\bar A=P^{-1}AP\),得到的 \(\bar A\)\(A\) 相似它跟 7.6 节要讲的"非奇异线性变换"是同一件事的两个名字——非奇异 = 可逆 = 行列式不为零(见 2.2 节等价链);换一套状态变量(\(\bar{\boldsymbol{x}}=P^{-1}\boldsymbol{x}\) 这类),系统矩阵就按 \(P^{-1}AP\) 变。别被两个名字骗了,以为是两种不同的东西。 关键性质:相似变换不改变特征值(所以极点、稳定性不变),只改变矩阵的"长相"。

4.4 状态转移矩阵的性质(选择填空高频)

老师逐条讲了,我把它们连同"为什么"一起列。每一条都别死记,都能从"它是 \(e^{At}\)"想通。

性质 公式 为什么(用标量 \(e^{at}\) 类比)
初值 \(\Phi(0)=I\) \(e^{a\cdot 0}=1\);矩阵版就是单位阵。不管 \(A\) 是什么都成立——老师特意强调了这句
导数 \(\dot\Phi(t)=A\Phi(t)=\Phi(t)A\) \((e^{at})'=a e^{at}\)。指数函数求导还是自己乘个系数。且 \(A\) 放左放右都行
传递性 \(\Phi(t_2-t_0)=\Phi(t_2-t_1)\Phi(t_1-t_0)\) \(e^{a(t_2-t_0)}=e^{a(t_2-t_1)}e^{a(t_1-t_0)}\)含义:从 \(t_0\) 直接跳到 \(t_2\),等于先跳到 \(t_1\) 再跳到 \(t_2\),分段搬运结果一样
求逆 \(\Phi^{-1}(t)=\Phi(-t)\) \(\dfrac{1}{e^{at}}=e^{-at}\)含义:逆矩阵就是"时间倒流",把状态倒推回去
幂次 \([\Phi(t)]^{k}=\Phi(kt)\) \((e^{at})^k=e^{akt}\)
分配律 \(e^{At}e^{Bt}=e^{(A+B)t}\) 仅当 \(AB=BA\) 【难点】见下

【难点】最后一条的条件 \(AB=BA\) - 难在哪:学生会想当然地照搬标量的 \(e^{a}e^{b}=e^{a+b}\),以为矩阵也无条件成立。 - 为什么难:因为矩阵乘法不满足交换律——\(AB\)\(BA\) 一般是两个不同的矩阵!这是矩阵与普通数字最大的区别,零基础最容易忽略。 - 正确理解:只有当 \(A\)\(B\) 恰好可交换(\(AB=BA\))时,这条指数律才成立。这是考选择题时最爱设的陷阱:给你一条 \(e^{At}e^{Bt}=e^{(A+B)t}\) 问对不对,答案是"不一定,需附加 \(AB=BA\)"。


5. 动态方程的求解(运动分析)

5.1 齐次与非齐次

【补前置】"齐次"就是方程里没有输入项(\(\boldsymbol{u}=0\)),\(\dot{\boldsymbol{x}}=A\boldsymbol{x}\);"非齐次"就是有输入,\(\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}\)。物理上:齐次 = 没人推它,系统靠自己的初始状态自由演化(相当于第3章的"零输入响应");非齐次 = 既有初始状态又有外力(零输入响应 + 零状态响应)。

齐次解: $\(\boldsymbol{x}(t)=\Phi(t)\boldsymbol{x}(0)=e^{At}\boldsymbol{x}(0)\)$ 读法:\(t\) 时刻的状态 = 搬运工 × 初始状态。

非齐次解: $\(\boldsymbol{x}(t)=\underbrace{e^{At}\boldsymbol{x}(0)}_{\text{初始状态贡献}}+\underbrace{\int_{0}^{t}e^{A(t-\tau)}B\boldsymbol{u}(\tau)\,d\tau}_{\text{外加输入贡献}}\)$

这式子在说什么:现在的状态 = 初始状态自己演化到现在的那部分 + 从 0 到现在每一瞬的输入各自演化到现在、再全部累加起来的那部分。这正是老师强调的"两个因素共同作用、可以叠加"。 ② 符号:\(\tau\) 是积分用的"哑变量",代表"过去的某一瞬间";\(t-\tau\) 是"那一瞬到现在还剩多长时间",所以 \(e^{A(t-\tau)}\) 就是"把那一瞬产生的影响搬运到现在"的搬运工;\(\int_0^t \cdots d\tau\) 就是把所有过去瞬间的贡献加起来。 ③ 怎么用:知道 \(A,B,\boldsymbol{x}(0),\boldsymbol{u}(t)\),先求 \(e^{At}\)(用第4节的拉氏法),再代入积分。

【补前置·积分符号】\(\int_0^t f(\tau)d\tau\) 读作"把 \(f\) 从 0 到 \(t\) 累加起来"。把时间切成无数小片,每片贡献 \(f(\tau)\times\)(片宽),全加起来。它不是什么高深的东西,就是"连续版的求和"。

【你可能会以为】那个积分项形式怪异,是死公式。 但其实它就是叠加原理的数学写法:线性系统里,多个原因引起的结果 = 各原因单独引起的结果之和。初始状态是一个原因,\(\tau\) 时刻的那一小撮输入是另一个原因……全部加起来就是总结果。因为系统是线性的,才允许这样拆开再加。非线性系统这招就废了(所以第8章非线性系统那么难)。

拉氏变换法求解:老师说也可以用拉氏变换法,道理一样。这里把中间步骤写全,别跳。

【补前置·导数的拉氏变换】这条性质本讲前面没补,但它是下面推导的关键,补在这里: $\(\mathcal{L}[\dot x(t)]=sX(s)-x(0)\)$ 这式子在说什么:时域里"求一次导",到了 \(s\) 域就变成"乘一个 \(s\),再减掉初值"。那个 \(-x(0)\) 就是初始条件进入 \(s\) 域的唯一入口——第2章你学传递函数时之所以看不到它,是因为传递函数定义里规定了"零初始条件"(\(x(0)=0\)),这一项被扔掉了。现在我们要算的是含初始状态的完整运动,所以它必须留着。向量版形式相同:\(\mathcal{L}[\dot{\boldsymbol{x}}]=s\boldsymbol{X}(s)-\boldsymbol{x}(0)\)

推导(三步,每步只做一件事): $\(\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}\ \xrightarrow{\ \text{两边取拉氏}\ }\ s\boldsymbol{X}(s)-\boldsymbol{x}(0)=A\boldsymbol{X}(s)+B\boldsymbol{U}(s)\)$ $\(\xrightarrow{\ \text{含}\boldsymbol{X}\text{的项移到左边、其余移到右边}\ }\ s\boldsymbol{X}(s)-A\boldsymbol{X}(s)=\boldsymbol{x}(0)+B\boldsymbol{U}(s)\)$ $\(\xrightarrow{\ \text{左边提取公因子}\ }\ (sI-A)\boldsymbol{X}(s)=\boldsymbol{x}(0)+B\boldsymbol{U}(s)\)$ $\(\xrightarrow{\ \text{两边左乘}(sI-A)^{-1}\ }\ \boldsymbol{X}(s)=(sI-A)^{-1}\left[\boldsymbol{x}(0)+B\boldsymbol{U}(s)\right]\)$

在说什么:在 \(s\) 域里,初始状态 \(\boldsymbol{x}(0)\) 和输入 \(B\boldsymbol{U}(s)\) 先加在一起,再一起被 \((sI-A)^{-1}\) 这个"系统内部演化算子"作用一次。 ② 符号:\(\boldsymbol{X}(s),\boldsymbol{U}(s)\) 分别是状态、输入的拉氏变换;\(\boldsymbol{x}(0)\) 是初始状态向量(它来自上面那条导数性质,不是凭空冒出来的)。 ③ 怎么用:算出 \(\boldsymbol{X}(s)\) 后逐个元素做拉氏反变换,得到 \(\boldsymbol{x}(t)\)。结果与上面的积分公式一致——因为 \(\mathcal{L}^{-1}[(sI-A)^{-1}]=e^{At}\)(4.3 第 2 种求法),而 \(s\) 域的乘积对应时域的卷积,正是那个积分。

两处要提醒:(a) 第三步提取公因子时必须写成 \((sI-A)\) 不能写成 \((s-A)\)——\(s\) 是数、\(A\) 是矩阵,数减矩阵没定义,必须用 \(sI\) 把它"撑"成矩阵。(b) 最后一步是左乘逆矩阵,不是"除以 \((sI-A)\)"——这里再次用到 4.3 那条:矩阵不能除,只能乘逆。而且矩阵乘法不满足交换律,左乘右乘结果不同,必须左乘。

5.2 离散系统的解

如果系统是离散的(用差分方程而不是微分方程描述): $\(\boldsymbol{x}(k+1)=G\boldsymbol{x}(k)+H\boldsymbol{u}(k),\qquad \boldsymbol{y}(k)=C\boldsymbol{x}(k)+D\boldsymbol{u}(k)\)$

【补前置·差分方程】微分方程描述"连续变化",差分方程描述"一步一步跳"。\(k\) 是采样序号(第几拍),\(\boldsymbol{x}(k+1)\) 是下一拍的状态。这是你第7章离散系统学过的思路。\(G\)\(H\) 是离散版的 \(A\)\(B\),注意换了字母,判据里千万别写混——老师专门提醒了这一点。

解: $\(\boldsymbol{x}(k)=G^{k}\boldsymbol{x}(0)+\sum_{j=0}^{k-1}G^{\,k-1-j}H\boldsymbol{u}(j)\)$

在说什么:和连续情形结构完全一样,只是两处替换:状态转移矩阵从 \(e^{At}\) 变成 \(G^{k}\)(每走一拍就再乘一次 \(G\)),积分变成求和(离散没法积分,只能一拍一拍加)。 ② 符号:\(\sum_{j=0}^{k-1}\) 表示 \(j\) 从 0 加到 \(k-1\)。 ③ 怎么用:一般考试若考,阶数很低,直接递推几步即可。

求解工具上,连续用拉氏变换,离散不能用拉氏,用 \(z\) 变换——这也是你第7章的老朋友。


6. 传递函数矩阵与"实现"

6.1 传递函数矩阵

定义:零初始条件下,输出向量的拉氏变换与输入向量的拉氏变换之间的传递关系,记 \(G(s)\),是一个矩阵。

【补前置】为什么是矩阵?因为 MIMO 系统有 \(r\) 个输入、\(m\) 个输出,每一对"第 \(j\) 个输入 → 第 \(i\) 个输出"都有一个传递函数 \(g_{ij}(s)\),把它们排成 \(m\times r\) 的表,就是传递函数矩阵。SISO 时它退化成 1×1,就是你熟悉的普通传递函数。

由状态空间求传递函数矩阵(转录第78段,老师原话:"这个公式?大家需要牢牢的记住它"): $\(G(s)=C(sI-A)^{-1}B+D\)$

这式子在说什么:给我状态空间的四个矩阵,我就能算出对应的传递函数矩阵——也就是从"状态空间语言"翻译成"传递函数语言"。 ② 符号:\((sI-A)^{-1}\) 就是第4节那个东西,叫预解矩阵;左乘 \(C\) 表示"从内部看到外部",右乘 \(B\) 表示"从输入进到内部";\(+D\) 是直通部分。 ③ 怎么用:考题给 \(A,B,C,D\) 求传递函数,直接套。SISO 时算出来就是一个普通分式。 【难点】这个公式的读法是从右往左读:输入 \(\to B\)(进入系统)\(\to (sI-A)^{-1}\)(在系统内部演化)\(\to C\)(被观测出来),外加一条 \(D\) 的旁路直通。按这个物理路径读,公式就不用死背了。 【补充说明·极点从哪来(这条连着第4章,要接住)】求逆矩阵的通用公式是 $\((sI-A)^{-1}=\frac{\text{adj}(sI-A)}{\det(sI-A)}\)$ - \(\text{adj}\) 读作"伴随矩阵"。2×2 时它就是 4.3 节给过的那个 \(\begin{bmatrix}a&b\\c&d\end{bmatrix}\to\begin{bmatrix}d&-b\\-c&a\end{bmatrix}\)(主对角对调、副对角变号);更高阶的构造方式本讲不用,不展开是因为下面的结论只用到分母,与 adj 长什么样无关。 - \(\det\) 就是 2.2 节补的行列式。关键就在分母:\(\det(sI-A)\) 正是 \(A\)特征多项式(4.3 节第 3 种求法里定义过)。

所以:求逆之后每个元素的分母都是 \(\det(sI-A)\);再左乘 \(C\) 右乘 \(B\) 只是对分子做加减,分母不变。于是传递函数的极点(分母的根)= \(\det(sI-A)=0\) 的根 = \(A\) 的特征值。 (可能因零极点对消而减少,那正是不能控或不能观的信号——第21讲会用到。)这是连接第9章和第3、4章最硬的一根线:你以前画根轨迹追的那些极点,在这里就是 \(A\) 的特征值。

6.2 "实现"与最小实现

实现:反过来,给定一个传递函数矩阵 \(G(s)\),如果能找到一组 \(A,B,C,D\) 使 \(C(sI-A)^{-1}B+D=G(s)\),就说这组 \((A,B,C,D)\)\(G(s)\) 的一个实现

【补前置】"实现"这个词的直觉:传递函数是"外部行为规格书"(输入输出该是什么关系),实现就是"能产生这种外部行为的一台具体内部机器"。同一份规格书,可以造出好多台内部结构不同的机器。

实现不唯一:老师举例,用可控标准型和用对角标准型去实现同一个传递函数,得到的内部结构完全不同,但外部表现一样。

最小实现:阶数最低的那个实现。老师原话是"如果阶数相等,我们把它叫做传递函数矩阵的最小实现"(转录第79段)。 【存疑·待核】这句字幕表述含糊("阶数相等"跟什么相等没说清)。教材通行定义是:在所有实现中,状态维数 \(n\) 最小的那个,称为最小实现;并且可以证明,一个实现是最小实现,当且仅当它既能控又能观。我按通行定义写在这里,但由于没有第9章 PPT 可比对,请以你的教材原文为准。


7. 能控性与能观性(第9章真正的新东西)

这一节是全章灵魂。如果你只打算看本讲的一小部分,除了第2节就该看这节。

7.1 能控性:我推得动它吗

大白话:系统内部有 \(n\) 个状态。我通过输入 \(\boldsymbol{u}\) 去推,能不能推动每一个状态?有没有哪个状态是我怎么折腾都碰不到的死角?能全部推到,就叫状态完全能控

正式定义(要点转述,原话见转录第80-81段):对以 \(\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}\) 为状态方程的线性系统,若状态空间中所有非零状态都可以在控制作用 \(\boldsymbol{u}(t)\) 的作用下,在有限时间 \(t\)转移到零状态 \(\boldsymbol{x}(t)=0\),则称系统状态完全能控

【难点】定义里三个关键限定,少一个都不对。 - 难在哪:学生记成"能控就是能控制",太模糊,做判断题就翻车。 - 三个限定: ① 所有非零状态——不是某一个能推动就行,是任意一个都要能;有一个死角就是不完全能控。 ② 有限时间——不能说"等无穷久总能到",必须在有限时间内到达。 ③ 转移到零状态——注意定义方向是"任意状态 → 零",不是"零 → 任意"。(对线性定常系统,这两种说法是等价的,但定义原文是前者。) - 物理含义:老师那句话很到位——能控性表明"控制作用对状态变量的影响程度"

【你可能会以为】不能控的系统就没法用、是坏系统。 但其实不完全能控只说明"有一部分状态你推不动"。这部分如果本来就是稳定的(会自己衰减到零),系统照样能用,这叫"能稳定"(可镇定)。因为你真正需要的是"该管的能管住",不是"每一个都能管"。当然,如果推不动的那部分恰好是发散的,那就真完蛋了。

7.2 能控性判据

判据一:秩判据(最常用,考就考它)

构造能控性矩阵: $\(Q_c=[\,B\ \ AB\ \ A^2B\ \cdots\ A^{n-1}B\,]\)$ 若 \(\text{rank}\,Q_c=n\)(\(n\) 为系统阶数),则系统状态完全能控。

这式子在说什么:把 \(B\)\(AB\)\(A^2B\)……一直到 \(A^{n-1}B\) 这几列(块)横着拼成一个大矩阵,看它的秩够不够 \(n\)。 ② 符号:\(A^k B\) 就是 \(A\) 自乘 \(k\) 次再乘 \(B\);\(n\) 是状态个数(即 \(A\) 的行数)。 ③ 怎么用: - 单输入(SISO)时——\(B\) 只有一列(\(r=1\)),所以 \(Q_c\)\(n\times n\)方阵,可以用行列式:2 阶就算 \([B\ AB]\) 这个 2×2 矩阵的行列式(用 2.2 节的 \(ad-bc\)),不为零则满秩、秩=2,能控;为零则不能控。3 阶就算 \([B\ AB\ A^2B]\) 这个 3×3 的行列式。这是最可能出现在卷面上的算法。 - ⚠️ 多输入(MIMO)时不能这么算——本讲 1.2 节的整个立论就是"第9章为多输入多输出而生",所以这个坑必须提前说清:MIMO 时 \(B\)\(n\times r\)(\(r\) 个输入),\(Q_c=[B\ AB\ \cdots\ A^{n-1}B]\)\(n\times nr\)长方阵长方阵根本没有行列式(行列式只对方阵定义,见 2.2 节),硬套会直接卡死。这时只能老老实实求秩,两条路:①做初等行变换化成阶梯形,数非零行有几行;②找最大的非零子式——从中挑出若干行若干列凑成方阵(叫"子式"),能凑出行列式不为零的最大方阵是几阶,秩就是几。判据仍是 \(\text{rank}\,Q_c=n\)(\(n\) 是状态个数,不是 \(Q_c\) 的列数)。 - 同样的话对 7.4 的能观性矩阵 \(Q_o\) 成立:单输出(\(m=1\))时 \(Q_o\)\(n\times n\) 方阵可用行列式,多输出(\(m>1\))时 \(Q_o\)\(mn\times n\) 的长方阵,只能求秩。

【难点】为什么是这几项拼起来?为什么到 \(A^{n-1}\) 就停? - 难在哪:公式看着莫名其妙,凭空冒出一串幂次。 - 正确理解(来由):回想解的公式,输入的贡献是 \(\int e^{A(t-\tau)}B\boldsymbol{u}\,d\tau\)。把 \(e^{A(t-\tau)}\) 按幂级数展开(4.2 节),里面出现的就是 \(B,\ AB,\ A^2B,\ A^3B,\cdots\)。也就是说,输入所能推动的"方向",全都是这些列向量张成的(张成见 2.2 节:这些方向乘系数再相加,能拼出来的所有点)。若它们张不满整个 \(n\) 维状态空间(等价说法:秩 < \(n\),或这些列向量线性相关、独立方向不够 \(n\) 个),就一定有拼不到的点,也就是推不到的死角。 - 为什么到 \(A^{n-1}\) 就停:靠 4.3 节第 3 种求法里讲透的凯莱-哈密顿定理——\(A^n\) 及更高次幂都能由 \(I,A,\cdots,A^{n-1}\) 线性组合出来。所以 \(A^nB\) 也就是 \(B,AB,\cdots,A^{n-1}B\) 的线性组合,它带来的方向早已在里面了,再往后加不出新方向,白算。(如果 4.3 那段你跳过了,现在回去看那个二阶例子 \(A^2=-3A-2I\),一眼就明白"降次"是什么意思。) - 这条"为什么"能想通,这个公式你就再也不会背错长度了。

判据二(离散系统):\(\boldsymbol{x}(k+1)=G\boldsymbol{x}(k)+H\boldsymbol{u}(k)\),则构造 \([\,H\ \ GH\ \cdots\ G^{n-1}H\,]\),秩为 \(n\) 即能控。字母换成 \(G,H\),结构完全一样。

判据三:\((sI-A)^{-1}B\)各行线性无关(线性无关见 2.2 节:谁也不是别人的倍数或线性组合),则能控。 【怎么理解】\((sI-A)^{-1}B\) 这个矩阵的第 \(i\) 行,描述的是"输入通过什么方式影响第 \(i\) 个状态"。若某两行线性相关,说明这两个状态被输入推动的方式完全成比例、绑在一起动,你没法把它们分开控制,独立方向就少了一个——于是不能控。

判据四(对角阵判据):若 \(A\)对角阵且对角元素互异(即所有极点都是单根、互不相等),则只要 \(B\) 中没有全零行,系统就能控。 【为什么】前面说过,对角型下状态方程散成 \(n\) 个独立的一阶方程 \(\dot x_i=\lambda_i x_i+b_i u\)。如果 \(B\) 的第 \(i\) 行全是 0,意味着 \(b_i=0\),那第 \(i\) 个方程里根本没有 \(u\)——这个状态跟输入完全断了联系,当然推不动。这条判据几乎不用算,一眼看出来,是选择题送分点。

输出能控性(与状态能控性是两回事): 若存在有限时间区间和无约束的分段连续控制函数,使系统输出能由任意初始输出转移到任意终态输出,则称输出完全能控。 【补前置·分段连续控制函数 / 无约束】"分段连续"是说这个输入信号 \(\boldsymbol{u}(t)\) 允许有有限个跳变点(比如阶跃信号在 0 时刻突然从 0 跳到 1),除跳变点外都是连续的——这是为了把阶跃、方波这类常用输入包含进来,同时排除掉那些病态到无法实现的信号。"无约束"是说不限制输入的幅值大小(允许要多大给多大)。这两个词是定义的严谨性修饰,考试不会单独考,知道它不是什么高深新概念即可,别被术语吓住。 判据仍是秩判据: $\(\text{rank}\,[\,CB\ \ CAB\ \cdots\ CA^{n-1}B\ \ D\,]=m\quad(m\ \text{为输出个数})\)$ 【难点】状态能控 ≠ 输出能控,两者互不蕴含。 直觉上:状态能控是"内部每个角落都推得动",输出能控是"我能把仪表读数调到任意值"。内部有死角但死角不影响仪表(状态不能控但输出能控)是可能的;反过来也可能。注意判据里末尾多了一个 \(D\) 块,且秩要求是 \(m\) 不是 \(n\),这两点最容易写漏。

7.3 能观性:我看得见它吗

大白话:我只能测到输出 \(\boldsymbol{y}\)(仪表读数),看不到内部状态 \(\boldsymbol{x}\)。那我能不能根据一段时间的输入输出数据,把内部状态倒推出来?能倒推出全部状态,就叫完全能观

正式定义(要点转述,原话见转录第86-87段):若存在有限时间区间,对该区间内所有时刻,在给定输入作用下,可由输出 \(\boldsymbol{y}(t)\) 唯一确定状态向量的初值 \(\boldsymbol{x}(t_0)\),则称系统完全能观。

老师的一句总结很好:能观性反映的是"输出量对状态的反映能力"

【补前置】为什么要关心这个?因为第21讲的状态观测器状态反馈都建立在它上面:你想用状态做反馈,就得先知道状态是多少;而状态往往测不到(比如电机内部的磁链、飞机的迎角),只能靠观测器"估"出来。能不能估出来,就是能观性说了算。

7.4 能观性判据

判据一:秩判据 构造能观性矩阵(注意是竖着摞,和能控性的横着拼相反): $\(Q_o=\begin{bmatrix}C\\ CA\\ CA^{2}\\ \vdots\\ CA^{\,n-1}\end{bmatrix}\)$ 若 \(\text{rank}\,Q_o=n\),则系统完全能观。

在说什么:把 \(C,CA,CA^2,\cdots,CA^{n-1}\) 竖着摞成一个大矩阵,看秩够不够 \(n\)。 ② 来由:\(\boldsymbol{y}=C\boldsymbol{x}\) 只给你 \(C\) 这一层信息;但 \(\dot{\boldsymbol{y}}=C\dot{\boldsymbol{x}}=CA\boldsymbol{x}\) 又多给一层;再求导得 \(CA^2\boldsymbol{x}\)……把输出反复求导,就能一层层榨出关于状态的信息。攒够 \(n\) 条独立信息(\(\text{rank}=n\)),就能唯一解出 \(n\) 个未知的状态。这就是能观性判据的物理来源。 ③ 怎么用:单输出(\(m=1\),\(C\) 只有一行)时 \(Q_o\) 是方阵,2 阶就算 \(\begin{bmatrix}C\\CA\end{bmatrix}\) 这个 2×2 的行列式,不为零即满秩、能观。多输出(\(m>1\))时 \(Q_o\)\(mn\times n\) 的长方阵,没有行列式,只能求秩(初等行变换或找最大非零子式),详见 7.2 节③里的说明。

【难点】能控矩阵横着拼、能观矩阵竖着摞,极易写反。 记法:能控看 \(B\)(输入从旁边进来,所以往旁边拼);能观看 \(C\)(输出从上面出去,所以往下面摞)。或者更靠谱:记住对偶关系 \(Q_o = Q_c^{T}\) 形式的镜像,一个是 \([B\ AB\cdots]\),另一个就是它的"转置版" \([C^T\ A^TC^T\cdots]^T\)

判据二(离散):把 \(A\) 换成 \(G\),\(C\) 不变,构造 $\(Q_o=\begin{bmatrix}C\\ CG\\ CG^{2}\\ \vdots\\ CG^{\,n-1}\end{bmatrix}\)$ 秩为 \(n\) 即能观。结构和判据一完全一样,只换字母。 老师特别提醒注意 \(G\)\(A\) 的区别,别写混。 (说明:有些教材为省版面把竖排矩阵写成一行 \([\,C;\ CG;\ \cdots;\ CG^{n-1}\,]\),其中的分号";"就表示"换到下一行",和上面竖排是同一个矩阵。本讲统一用竖排写法,以免和能控矩阵那种"横着拼"的写法混淆。)

判据三:\(C(sI-A)^{-1}\)各列线性无关(线性无关见 2.2 节),则能观。(对照能控是"各行",这里是"各列"——老师专门点了这个对照。理解方式对偶:\(C(sI-A)^{-1}\) 的第 \(i\) 列描述"第 \(i\) 个状态怎么显现到输出上";若两列线性相关,这两个状态在输出里的表现完全成比例,你从输出读数没法把它们区分开,也就倒推不出各自是多少。)

判据四(对角阵判据):若 \(A\) 是对角阵且对角元素互异,则只要 \(C\) 中没有全零列,系统完全能观。 【存疑·待核】视频字幕这里说的是"输出矩阵没有全零行"(转录第89段)。但按对偶原理和教材通行结论,能观判据应是 \(C\) 无全零列(\(C\) 的第 \(i\) 列若全为 0,说明第 \(i\) 个状态在输出里完全不露面,当然不能观)。我判断字幕此处是口误或 ASR 误听,正文按"无全零列"写。若你的教材写的是"行",以教材为准并告诉我。

判据五(约当型有重根时):若出现约当块,则要求:①\(C\) 中对应互异特征值的那些列元素不全为零;②每个约当块最前一列(即第一列)所对应的 \(C\) 中元素不全为零;且该重根只对应一个约当块。此时系统能观。 【补前置·"元素不全为零"是什么意思】就是"这一列里至少有一个数不是 0"(允许其中有些是 0,只要别全是 0)。为什么这就够?因为多输出时 \(C\)\(m\) 行,某个状态只要被其中任何一个输出通道看到(该列有一个非零元),它就没有完全隐身。反之整列全 0,意味着每一个输出都跟这个状态无关,它彻底看不见——这和 7.2 判据四"\(B\) 无全零行"是对偶的同一句话。 【诚实说明】这条判据条件琐碎,老师念得也快。它属于"知道有这么个条件"即可的层次,真要用请翻教材原文对照。我不展开推导,因为在 851 不考现代控制的前提下,展开它的性价比极低。

7.5 对偶原理

把上面两组判据摆在一起看:

能控性 能观性
用到的矩阵 \(A,B\) \(A,C\)
判据矩阵 \([B\ AB\ \cdots\ A^{n-1}B]\) \([C;\ CA;\ \cdots;\ CA^{n-1}]\)
对角判据 \(B\) 无全零行 \(C\) 无全零列
线性无关 \((sI-A)^{-1}B\) 的行 \(C(sI-A)^{-1}\) 的列

完全镜像。这就是对偶原理:系统 \(\Sigma_1(A,B,C)\) 与其对偶系统 \(\Sigma_2(A^T,C^T,B^T)\) 满足——\(\Sigma_1\) 能控 \(\iff\) \(\Sigma_2\) 能观;\(\Sigma_1\) 能观 \(\iff\) \(\Sigma_2\) 能控

实用价值:①记忆量减半,记住一半推另一半;②可控标准型与可观标准型之间可以直接靠转置互换(第3.2节);③第21讲设计观测器时,可以直接借用设计状态反馈的方法(把问题对偶过去)。

老师还提到:单输出系统的可观标准型可以化为可控标准型,即单输出系统既可化可控标准型也可化可观标准型。

7.6 两个"会被拿来考"的重要结论

  1. 线性非奇异变换不改变能控性、能观性、稳定性。 【补前置·非奇异线性变换】就是"换一套状态变量",数学上是令 \(\bar{\boldsymbol{x}}=P\boldsymbol{x}\)(\(P\) 可逆,即"非奇异")。"非奇异 = 可逆 = 行列式 \(\det P\neq 0\)",这就是 2.2 节那条等价链,三个说法完全同义。 另外提醒:这和 4.3 节第 4 种求法里说的"相似变换"是同一件事,只是换了个名字(相似变换算的是 \(\bar A=P AP^{-1}\) 这一类),别以为是两种不同的东西。直觉:换坐标系不改变物体本身。 你换个尺子量房间,房间大小不变。所以能控、能观、稳不稳这些系统固有属性,不随状态变量的选法而变。 【你可能会以为】既然换变量什么都不变,那折腾这些标准型有啥用?但其实变换虽不改变"性质",但能大幅简化"形状",让性质一眼可见(比如化成对角型后,能控性一眼看 \(B\) 有没有全零行)。变换是为了看得清,不是为了改变事实。

  2. 连续系统离散化后,能控性/能观性不一定保持。 老师明确说了:原来连续系统能控/能观,离散化后未必还能控/能观,这与采样周期 \(T\) 的选择密切相关。 【难点】这条最反直觉,也最容易被出成判断题。

  3. 难在哪:学生会想"离散化只是把连续的东西每隔 \(T\) 采一次样,系统还是那个系统,性质怎么会变"。
  4. 正确理解:因为采样是丢信息。两次采样之间发生的事你完全看不到。极端例子:系统内部某个振荡模态的周期恰好是 \(T\),你偏偏每隔 \(T\) 采一次样,每次采到的都是同一个相位,你就永远看不出它在振荡——能观性就这么丢掉了。 【补前置·模态】"模态"就是系统内部一种独立的运动方式。回想 3.3 节的对角型:\(n\) 阶系统能拆成 \(n\) 个各管各的一阶方程,每个 \(x_i\)\(e^{\lambda_i t}\) 独立演化——每一个这样的独立运动分量,就叫一个模态,一个模态对应一个特征值(极点)。特征值是实数就是单调衰减/发散的模态;特征值是一对共轭复数,对应的就是振荡模态(会来回摆),摆的快慢由虚部决定。系统总的运动 = 所有模态叠加。"某个模态不能控"就是"这一种运动方式你推不动";"某个模态不能观"就是"这一种运动方式在输出上看不出来"——这是理解能控能观最本质的一个视角。 所以采样周期不能乱选。这和你第7章学的采样定理是同一个思想:采样太慢会丢失信息。

  5. 结构分解:如果一个系统不是完全能控/能观的,可以通过线性变换把它分解成"能控部分 + 不能控部分"(或能观/不能观),从而看清究竟哪一块出了问题。老师在开头介绍第9章框架时提到过这件事(转录第34段原话:"如果这个状态空间描述这个状态空间方程,它不够具备规范的标准形式,怎么样对它进行可控性或者可观性结构它的分解"),但正课里没有展开讲。本讲同样不展开,因为它需要具体的变换矩阵构造过程,篇幅大且在 851 不考现代控制的前提下性价比低——不是因为它不重要而略,是因为投入产出比不划算。要学请看教材第9章"能控性和能观性的标准形与结构分解"一节。


8. 本讲没讲、留到下一讲的部分(明确交代,不留空白)

老师最后一句话:"关于稳定性以及它的设计,也就是综合部分的内容,我们放到下一讲来复习。"

所以以下内容本讲只报了菜名、没有展开,第21讲才讲: - 李雅普诺夫稳定性:老师在第一部分框架介绍时提了它的思想——从能量的角度判断稳定:找一个"能量函数"(李雅普诺夫函数 \(V\)),如果沿着系统运动轨线这个能量一直在减少,能量耗光了运动就停了,系统就是稳定的。判定要三步:①找平衡点(所有状态导数都为零、系统不再运动的那个点);②构造能量函数 \(V(\boldsymbol{x})\),通常用二次型;③判断 \(V\) 正定、\(\dot V\) 负定 → 渐近稳定。还有第一法、第二法两个判据,其中第二法在线性定常系统稳定性分析中常考。 【补前置·这三个词先混个脸熟(第21讲才真讲,本讲只报菜名)】 - 二次型:一个所有项都是二次的多项式,比如 \(V=x_1^2+2x_2^2\)\(V=x_1^2+x_1x_2+3x_2^2\)(注意 \(x_1x_2\) 也算二次)。用矩阵可以统一写成 \(V=\boldsymbol{x}^{T}P\boldsymbol{x}\)为什么用它当能量函数?因为物理上的能量本来就长这样——弹簧势能 \(\frac12kx^2\)、动能 \(\frac12mv^2\)、电容储能 \(\frac12Cu^2\),全是平方项。 - 正定:除了 \(\boldsymbol{x}=0\) 这一点等于零外,其余任何 \(\boldsymbol{x}\) 代进去都 > 0。例:\(x_1^2+2x_2^2\) 正定。含义就是"能量总是正的,只有在原点才为零"。 - 负定:反过来,除原点外恒 < 0\(\dot V\) 负定的含义是"能量一直在减少",能量单调往下掉、最终掉到零,运动就停了——这就是李雅普诺夫判稳的全部直觉。 - 至于"怎么判断一个二次型是不是正定"(用矩阵 \(P\) 的各阶顺序主子式全大于零,又要算行列式了),第21讲再讲,本讲不要求会。 - 综合部分:状态反馈与输出反馈、极点配置、稳定化控制器、状态观测器(全维/降维)、分离定理、二次型最优控制。 - 其中老师强调的一个结论值得先记:加状态反馈或输出反馈,可以改变系统的动态特性,但不改变系统的能控性;极点配置影响的是系统的稳定性。 【存疑·待核】关于"反馈是否改变能观性",字幕的表述是"也不改变能观性"(转录第36段)。但教材的通行结论是:状态反馈不改变能控性,但可能改变能观性(因为反馈可能造成零极点对消);输出反馈则能控性、能观性都不改变。我怀疑字幕此处是把两种反馈的结论混讲了。请以教材为准,第21讲若讲到会再核。 - 分离定理:状态反馈控制器和状态观测器可以分开独立设计,合起来的整体极点 = 两者各自极点的并集。这让复杂的设计问题拆成了两个简单问题。


这一讲的骨架(真正要带走的)

  1. 第9章是"换语言":前八章用微分方程/传递函数/频率特性,只能描述单输入单输出;第9章用状态空间,能装多输入多输出,而且打开了黑箱——把系统内部状态显式写出来。
  2. 两条核心方程:\(\dot{\boldsymbol{x}}=A\boldsymbol{x}+B\boldsymbol{u}\)(状态怎么变),\(\boldsymbol{y}=C\boldsymbol{x}+D\boldsymbol{u}\)(输出怎么来)。四个矩阵的分工:\(A\)=内对内,\(B\)=输入对内,\(C\)=内对外,\(D\)=直通。
  3. 状态 = 能把过去打包封存的最小信息。个数唯一(\(n\) 个),选取不唯一。储能元件是状态变量的来源。
  4. 状态转移矩阵 \(\Phi(t)=e^{At}\) 是时间的搬运工,最常用求法是 \(\mathcal{L}^{-1}[(sI-A)^{-1}]\)。它的所有性质都能从标量 \(e^{at}\) 类比想通,唯一的例外陷阱是 \(e^{At}e^{Bt}=e^{(A+B)t}\) 需要 \(AB=BA\)
  5. 解的结构 = 初始状态的贡献 + 输入的累积贡献,离散版把 \(e^{At}\) 换成 \(G^k\)、把积分换成求和。
  6. 能控性 = 推得动吗(秩 \([B\ AB\cdots A^{n-1}B]=n\));能观性 = 看得见吗(秩 \([C;CA;\cdots;CA^{n-1}]=n\))。两者完全对偶,记一半推一半。
  7. 本讲最该重视的判断题结论:线性非奇异变换不改变能控能观;离散化可能破坏能控能观(与采样周期有关);状态能控 ≠ 输出能控。
  8. 战略提醒:据我检索的 851 考点分析材料,这一章大概率不考。别在它上面花掉根轨迹和校正的时间。

自测(戳穿假懂版)

第1题。给定 \(A=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\),\(B=\begin{bmatrix}0\\1\end{bmatrix}\)。判断系统是否状态完全能控,写出计算过程。

答案要点:\(AB=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\begin{bmatrix}0\\1\end{bmatrix}=\begin{bmatrix}1\\-3\end{bmatrix}\)\(Q_c=[B\ AB]=\begin{bmatrix}0&1\\1&-3\end{bmatrix}\),行列式 \(=0\times(-3)-1\times1=-1\neq0\),秩 = 2 = \(n\),能控答错说明你卡在哪:①算不出 \(AB\) → 矩阵乘向量的规则没掌握,回 2.2 节;②不知道要跟谁比 → 没记住"跟系统阶数 \(n\) 比",而 \(n\) = 状态个数 = \(A\) 的行数;③把 \(Q_c\) 竖着摞了 → 把能控和能观的判据记反了,回 7.4 节的记法。

第2题。给定 \(A=\begin{bmatrix}0&1\\0&0\end{bmatrix}\),\(B=\begin{bmatrix}0&0\\1&0\end{bmatrix}\)。 (a) 亲手算出 \(AB\)\(BA\);(b) 据此判断:某同学在卷子上写"因为矩阵指数满足 \(e^{At}e^{Bt}=e^{(A+B)t}\),所以……",对这一组 \(A,B\) 他能这么用吗?为什么?

答案要点: (a) \(AB=\begin{bmatrix}0&1\\0&0\end{bmatrix}\begin{bmatrix}0&0\\1&0\end{bmatrix}=\begin{bmatrix}1&0\\0&0\end{bmatrix}\);\(BA=\begin{bmatrix}0&0\\1&0\end{bmatrix}\begin{bmatrix}0&1\\0&0\end{bmatrix}=\begin{bmatrix}0&0\\0&1\end{bmatrix}\)两者不相等(\(AB\neq BA\))。 (b) 不能这么用。该式成立的附加条件是 \(AB=BA\),而这组矩阵已经算出不满足,所以 \(e^{At}e^{Bt}\neq e^{(A+B)t}\)。根本原因是矩阵乘法不满足交换律——换个顺序就是另一个矩阵,这是矩阵和普通数字最大的区别。 答错说明你卡在哪:①(a) 算错或懒得算,直接凭印象答"不对,少条件" → 你只是背下了这条陷阱,没有能力自己验证,换一组矩阵你就分不清能不能用;②算出 \(AB\neq BA\) 却仍答"可以用" → 没把"条件"和"结论"接上;③觉得"矩阵乘法哪有顺序问题" → 回 2.2 节把矩阵乘法规则重算一遍,这是零基础学状态空间最常见的思维惯性,必须掰过来:矩阵世界里,交换律没了、除法也没了(只能乘逆矩阵)。 补充:\(AB=BA\) 只是充分条件。真遇到 \(AB=BA\) 的情形(比如 \(B=I\)、或 \(B=kA\)),这条指数律就可以放心用。

第3题。一个系统化成对角标准型后 \(A=\begin{bmatrix}-1&0\\0&-2\end{bmatrix}\),\(B=\begin{bmatrix}1\\0\end{bmatrix}\),\(C=[1\ \ 1]\)。不算秩判据,一眼判断它能控吗?能观吗?说出理由。

答案要点:\(A\) 是对角阵且对角元 \(-1\neq-2\) 互异,适用对角判据。\(B\)第二行是 0(全零行)→ 不能控;物理含义:第二个状态的方程是 \(\dot x_2=-2x_2+0\cdot u\),输入根本进不去,推不动它。\(C=[1\ 1]\) 没有全零列 → 能观答错说明你卡在哪:①非要去算秩判据 → 说明你只会套公式,没理解对角型下"方程已经散开、各管各"这个结构;②看 \(B\) 时看的是列不是行 → 行列没分清,回 7.2 判据四;③说"不能控所以也不能观" → 严重误解,能控与能观是两件独立的事,可以能控不能观,也可以能观不能控。

第4题。有人说:"我做了一个非奇异线性变换,把系统化成了可控标准型,所以这个系统现在变得能控了。"这话错在哪?

答案要点:错在因果颠倒。非奇异线性变换不改变系统的能控性——变换只是换了一套状态变量(换坐标系),系统固有属性不变。只有本来就能控的系统,才化得成可控标准型;本来不能控的,你怎么变换也变不成。变换让性质"看得清",不能"改变事实"。 答错说明你卡在哪:你把"表示形式"和"系统本质"混为一谈了。这是第9章最重要的一条思维分界线,也是 2.5 节"选取不唯一"的同一个道理。

第5题。一个连续系统本来是完全能观的,离散化之后却不能观了。这可能吗?为什么?

答案要点:可能。因为采样是丢信息的过程,两次采样之间的行为你完全看不到。若采样周期 \(T\) 选得不当(例如恰好与系统某个振荡模态的周期同步),每次采到的都是相同相位,这个模态在采样数据里就"隐身"了,能观性丢失。所以能控能观是否保持,与采样周期 \(T\) 的选择密切相关答错说明你卡在哪:答"不可能,系统还是那个系统" → 说明你把"系统"和"你能从系统拿到的数据"混为一谈了。能观性说的从来不是系统本身,而是你能否从可获得的数据反推内部。数据变少了,反推能力当然可能变弱。

第6题(概念性,最容易假懂)。用一句话说明:为什么第9章非要把状态方程和输出方程分成两条写?一条不行吗?

答案要点:因为内部状态 \(\boldsymbol{x}\) 与外部可测输出 \(\boldsymbol{y}\) 不是一回事(内部可能有 5 个状态但只能测到 2 个输出)。只有把两者分开,才能问出前八章问不出的两个问题:内部状态推得动吗(能控性,只涉及 \(A,B\))、内部状态看得见吗(能观性,只涉及 \(A,C\))。分开写,是为了能提出能控/能观这两个问题。 答错说明你卡在哪:答不上来说明你还在用传递函数的黑箱思维看第9章,整章的动机你还没接住——回 2.3 节那个【难点】重看。


知识地图

向前串(本讲依赖你前面学过的什么) - 第2章:微分方程、传递函数、结构图/信号流图 → 都是建立状态空间表达式的入口(由它们可以转出 \(A,B,C,D\)) - 第2、3章:拉氏变换与反变换、部分分式展开 → 求 \(\Phi(t)=\mathcal{L}^{-1}[(sI-A)^{-1}]\) 直接用 - 第3、4章:极点决定动态性能 → 本讲的 \(A\) 的特征值 = 系统极点,是新旧知识的接口 - 第7章:离散系统、差分方程、\(z\) 变换、采样周期 → 离散状态方程和"离散化破坏能控能观"两处直接复用 - 高数:导数、积分、泰勒级数 \(e^x\) 展开、导数的拉氏变换 \(\mathcal{L}[\dot x]=sX-x(0)\);线代:矩阵乘法、转置、逆、行列式、秩、线性无关/张成、特征值、对角化与相似变换 (以上线代的每一块本讲 2.2 / 4.3 / 5.1 都就地补到"够用",不需要你去先补一整本线性代数。其中行列式是动手算题时用得最多的一个,值得单独练熟 2×2 和 3×3。)

横向串(本章内部各块的关系)

物理机理/微分方程/传递函数/结构图
            ↓ (建模)
      状态空间表达式 (A,B,C,D)
        ↙            ↓            ↘
  三种标准型      状态转移矩阵Φ(t)   传递函数矩阵
 (可控/可观/约当)      ↓            G(s)=C(sI-A)^{-1}B+D
        ↓          动态方程求解         ↕ (实现)
        └────→  能控性(A,B)  ⇄对偶⇄  能观性(A,C)

注意那条"⇄对偶⇄"的双向箭头——它是本章记忆量减半的关键,也是可控标准型与可观标准型互为转置的原因。

向后串(后面哪里要用) - 第21讲(第9章后半):能观性 → 状态观测器能否设计;能控性 → 极点能否任意配置;两者合起来 → 分离定理;另有李雅普诺夫稳定性。本讲的能控能观,就是下一讲全部设计工作的前提条件。 - 最小实现的判定(既能控又能观),用到本讲两个判据。 - 更远处(超出考研范围,知道即可):现代控制的卡尔曼滤波、最优控制、鲁棒控制,全部长在状态空间这套语言上。

这块拼图在整幅图的哪里:前八章是"经典控制"这幅画,第9章是另起一幅"现代控制"的画。两幅画画的是同一片风景(同一个系统),用的是不同画法。对 851 考生而言,你的考场在第一幅画里;第二幅画看一眼,知道世界还有另一半,就够了。