数学基础回顾:向量与矩阵运算、范数定义、函数极值求解

各位同学,欢迎来到第二章。说实话,做制导控制这些年,我最大的体会就是——数学基础不牢,后面推导公式时真的会一头雾水。今天咱们就把向量、矩阵、范数、极值这些老伙计请出来,好好捋一捋。别怕,我会用项目里的实际例子带大家理解。

2.1 向量与矩阵:制导问题的“语言”

在机动目标拦截问题里,我们描述目标位置、导弹速度、相对运动关系,用的全是向量和矩阵。说白了,这就是我们和飞行器对话的“语法”。

2.1.1 向量运算

一个三维向量 r = [x, y, z]^T 可以表示目标相对于导弹的位置。我习惯用列向量,因为后面做矩阵乘法时更顺手。

基本运算包括:

  • 加法/减法:对应分量相加减。比如相对速度 v_rel = v_target - v_missile
  • 点积(内积)a · b = a_1 b_1 + a_2 b_2 + a_3 b_3。物理意义是一个向量在另一个方向上的投影长度。我在做视线角速率估算时,经常用点积来算夹角。
  • 叉积(外积)a × b 得到垂直于 ab 的新向量。这个在计算角动量、视线旋转速率时特别有用。

重要提醒:叉积不满足交换律!a × b = - (b × a)。我曾经在推导制导律时搞反了符号,结果仿真里导弹直接朝反方向飞……嗯,从那以后我每次写叉积都会多看一眼顺序。

2.1.2 矩阵运算

矩阵在制导控制里主要干两件事:线性变换和表示二次型。比如状态转移矩阵、协方差矩阵、Hessian矩阵,都是老朋友。

核心运算:

  • 矩阵乘法:C = A × B,要求A的列数等于B的行数。我个人习惯先检查维度,再动手算。
  • 转置:A^T,行变列,列变行。在推导最优控制中的Riccati方程时,转置符号满天飞,千万别漏了。
  • 逆矩阵:A^{-1},满足 A × A^{-1} = I。注意,只有方阵且行列式不为零时才有逆。我在实际代码里很少直接求逆,一般用Cholesky分解或LU分解来解线性方程组,数值稳定性更好。

小技巧:如果你在MATLAB里写代码,尽量用 A \ b 而不是 inv(A) * b。前者更快,也更准。

2.2 范数定义:衡量“大小”的尺子

范数,说白了就是给向量或矩阵量个“长度”。在最优制导里,我们经常要最小化某个范数,比如控制能量最小化就是最小化控制向量的2-范数平方。

2.2.1 向量范数

常用的向量范数有三种:

范数类型 定义 物理意义/用途
1-范数 ||x||_1 = Σ|x_i| 稀疏优化,燃料最优问题
2-范数(欧几里得范数) ||x||_2 = √(Σx_i^2) 能量最优,最常用
∞-范数 ||x||_∞ = max|x_i| 最坏情况分析,鲁棒控制

你想想看,在拦截问题中,如果我们想最小化导弹的过载(加速度),通常用2-范数平方作为代价函数。为什么?因为2-范数平方求导方便,而且物理上对应能量。

2.2.2 矩阵范数

矩阵范数稍微复杂一点。最常用的是Frobenius范数和诱导2-范数(谱范数)。

  • Frobenius范数:||A||_F = √(ΣΣ a_{ij}^2),就是把矩阵拉直成向量算2-范数。
  • 谱范数:||A||_2 = σ_max(A),即A的最大奇异值。这个在分析系统稳定性时很关键。

注意:矩阵范数要满足相容性条件,即 ||AB|| ≤ ||A|| · ||B||。我在做误差分析时,如果忽略了这一点,估计出来的误差上界会偏小,导致实际系统不稳定。切记!

2.3 函数极值求解:最优制导的“心脏”

最优制导的本质,就是在满足动力学约束的前提下,找一个控制量u(t),使得某个性能指标J最小。这就绕不开函数极值求解。

2.3.1 无约束极值

对于标量函数 f(x),极值点满足一阶必要条件:f'(x) = 0。二阶充分条件:f''(x) > 0 是极小值,f''(x) < 0 是极大值。

对于多元函数 f(x),梯度 ∇f(x) = 0 是必要条件。Hessian矩阵 ∇²f(x) 正定是极小值的充分条件。

我记得有一次在推导比例导引法的能量最优形式时,就是通过令性能指标对导航比的偏导为零,得到了最优导航比N=3的经典结论。你看,极值求解直接给出了工程上用了半个世纪的参数。

2.3.2 有约束极值:拉格朗日乘子法

实际制导问题都有约束,比如导弹最大过载限制、终端脱靶量要求。这时候要用拉格朗日乘子法。

考虑问题:

min f(x)
s.t. g(x) = 0

构造拉格朗日函数:L(x, λ) = f(x) + λ^T g(x)。然后令 ∇L = 0 求解。

举个例子,在最优制导律推导中,我们经常要最小化控制能量,同时保证终端脱靶量为零。这就是典型的等式约束极值问题。

核心思想:拉格朗日乘子λ的物理意义可以理解为“约束的边际成本”。在制导里,λ的大小反映了为了满足终端约束,我们需要付出多少控制代价。这个直觉很重要。

2.3.3 变分法与最优控制

当优化变量是函数u(t)而不是数值时,我们就进入了变分法的领域。最优控制中的Pontryagin极小值原理,本质上就是变分法在控制问题中的推广。

核心步骤:

  1. 写出性能指标 J = φ(x(t_f)) + ∫ L(x, u, t) dt
  2. 构造哈密顿函数 H = L + λ^T f(x, u, t)
  3. 由最优性条件 ∂H/∂u = 0 得到控制律
  4. 由协态方程 dλ/dt = -∂H/∂x 得到λ的演化

说实话,我第一次学变分法时也觉得抽象。后来在项目中用C++实现了一个线性二次型调节器(LQR),看着导弹真的按照最优轨迹飞向目标,那种感觉——嗯,数学没白学。

2.4 本章知识体系

下面这张图总结了本章的核心逻辑,我建议你保存下来,后面学制导律推导时随时回来对照。

数学基础回顾:知识体系 向量与矩阵运算 范数定义 函数极值求解 加法 · 点积 · 叉积 · 转置 · 逆 1-范数 · 2-范数 · ∞-范数 · 谱范数 无约束 · 拉格朗日乘子 · 变分法 最优制导问题建模与求解 比例导引法推导 LQR / 线性二次型 终端制导 / 能量最优 数学工具 → 制导律设计 → 工程实现

我的建议:学数学不是为了考试,是为了能用它描述物理世界。每次推导公式时,想想这个量在导弹-目标相对运动里代表什么。比如梯度方向就是最速下降方向,对应制导里“尽快减小脱靶量”的直觉。这样学,事半功倍。

好了,数学基础就复习到这里。下一章我们会正式进入最优控制理论的核心——Pontryagin极小值原理。到时候你会发现,今天讲的这些,全都会用上。


公众号:蓝海资料掘金营,微信deep3321