数学基础回顾:变分法基础、欧拉-拉格朗日方程、横截条件、哈密顿函数

各位同学,欢迎来到数学基础回顾这一节。说实话,很多做制导控制的朋友,一听到「变分法」三个字就开始头疼。我当年刚接触的时候也一样,觉得这玩意儿太抽象了。但后来我发现,你只要抓住几个核心概念,它其实就是一套「找最优路径」的工具。

咱们今天要聊的这四个东西——变分法基础、欧拉-拉格朗日方程、横截条件、哈密顿函数——是后续所有最优制导律推导的基石。说白了,没有它们,你后面学到的什么LQR、什么轨迹优化,全都是空中楼阁。

核心思想一句话:变分法就是微积分在函数空间上的推广。微积分找的是函数极值点,变分法找的是泛函的极值函数。

变分法基础 欧拉-拉格朗日方程 固定端点问题的核心条件 横截条件 处理自由端点/可变端点 哈密顿函数 最优控制问题的标准形式 应用:最优制导律设计 → 轨迹优化 → 能量最优/时间最优控制

1. 变分法基础:从「找点」到「找函数」

先问大家一个问题:微积分里我们怎么求一个函数的最大最小值?求导,令导数为零,对吧?那如果我想找的是一条曲线,而不是一个点呢?

举个例子。你从A点飞到B点,中间有无数条路径可以走。哪一条路径消耗的能量最少?这就是一个典型的变分问题。我们不再是对变量x求导,而是对函数y(x)求「导」——这个操作就叫变分。

我个人习惯把变分理解成「函数版本的微分」。微分是给自变量一个微小扰动,看函数值怎么变;变分是给整个函数一个微小扰动,看泛函值怎么变。

一个小技巧:刚开始学的时候,你看到δ符号(变分符号)就把它想象成微分符号d的「函数版」。很多运算规则是类似的,比如δ(f+g)=δf+δg,δ(fg)=fδg+gδf。但注意,变分和微分可以交换顺序:δ(dy/dt) = d(δy)/dt。

2. 欧拉-拉格朗日方程:最优路径的「必要条件」

好,现在问题来了:给定一个泛函J[y] = ∫L(y, y', t) dt,我们怎么找到让J取极值的函数y(t)?

欧拉和拉格朗日两位大神给出了答案。他们推导出的方程,是所有变分问题的核心:

∂L/∂y - d/dt(∂L/∂y') = 0

这个方程看起来简单,但背后有深刻的物理意义。我在做导弹制导律设计时,经常用这个方程来推导能量最优的飞行轨迹。你想想看,它本质上是在说:沿着最优路径,系统「广义力」和「广义加速度」之间必须满足某种平衡关系。

推导过程其实不复杂。核心思路是:给最优函数y*(t)加一个微小扰动εη(t),然后令泛函J对ε的导数在ε=0处为零。嗯,这里要注意,扰动η(t)在端点处必须为零——这就是固定端点问题的边界条件。

避坑指南:我曾经在做一个轨迹优化项目时,直接套用欧拉-拉格朗日方程,结果算出来的轨迹根本不对。后来排查了半天,发现是忽略了L函数中可能显含时间t的情况。如果L = L(y, y', t),那么欧拉-拉格朗日方程的形式不变;但如果L不显含t,会有一个首次积分(能量积分),用起来更方便。

3. 横截条件:当端点「自由」的时候

前面说的欧拉-拉格朗日方程,假设了端点固定。但实际工程中,很多问题的端点并不是固定的。比如导弹拦截目标,目标可能在动,拦截点不是预先确定的。这时候就需要横截条件。

横截条件说白了就是:当端点可以自由变化时,最优路径在端点处必须满足的「额外条件」。它和欧拉-拉格朗日方程一起,构成了完整的边界值问题。

常见的横截条件有几种情况:

端点类型 条件 工程含义
固定端点 y(t₀)=y₀, y(tf)=yf 起点终点都确定
自由端点 ∂L/∂y' |t=tf = 0 终点位置不受约束
可变端点(沿曲线) L + (φ' - y')∂L/∂y' = 0 终点必须落在某条曲线上

我记得有一次做飞行器再入制导,终点要求落在某个高度范围内,而不是精确的高度值。当时就是用横截条件来处理这个「软约束」的。你想想看,如果没有横截条件,我们只能硬约束终点,那设计出来的轨迹往往过于僵硬,实际飞行中根本飞不出来。

特别注意:横截条件的形式取决于你的性能指标和端点约束。不要死记硬背公式,一定要从变分原理出发推导。我见过太多人把横截条件用错,结果算出来的「最优解」根本不对。

4. 哈密顿函数:最优控制问题的「标准语言」

到了哈密顿函数这里,我们其实是在为最优控制问题搭建一个标准框架。为什么要引入哈密顿函数?说白了,欧拉-拉格朗日方程处理的是状态变量,但控制问题中我们还有控制输入u(t)。我们需要一个工具,把状态和控制统一起来。

哈密顿函数的定义很简单:

H(x, u, λ, t) = L(x, u, t) + λᵀ · f(x, u, t)

其中λ是协态变量(也叫伴随变量),f是系统动力学方程。引入H之后,最优控制问题的必要条件可以写成一组简洁的方程:

  • 状态方程:ẋ = ∂H/∂λ
  • 协态方程:λ̇ = -∂H/∂x
  • 控制方程:∂H/∂u = 0(无约束时)
  • 横截条件:λ(tf) = ∂φ/∂x(tf)(终端代价函数φ时)

这组方程就是著名的「庞特里亚金极小值原理」的核心内容。我个人觉得,哈密顿函数最大的价值在于它把复杂的变分问题转化成了我们熟悉的微分方程问题。你只要解这组两点边值问题,就能得到最优控制律。

我的经验:在实际工程中,我很少直接去解欧拉-拉格朗日方程。我更习惯先写出哈密顿函数,然后利用极小值原理来推导最优控制律。这样做的好处是思路清晰,而且容易处理控制约束(比如舵面偏角限制)。

5. 四个概念的内在联系

最后,我想把这四个概念串起来讲一下。它们之间的关系是这样的:

  1. 变分法是理论基础,它告诉我们如何对泛函求极值。
  2. 欧拉-拉格朗日方程是变分法在固定端点问题中的直接产物。
  3. 横截条件是欧拉-拉格朗日方程在端点自由时的推广。
  4. 哈密顿函数是引入控制变量后的标准形式,它把变分问题转化成了微分方程边值问题。

你想想看,从变分法到哈密顿函数,其实是一个从「数学工具」到「工程语言」的演变过程。我们做制导控制的,最终目的是要设计出能在计算机上跑起来的算法。哈密顿函数和极小值原理,恰好提供了这样一套「可计算」的框架。

好了,数学基础就回顾到这里。这些内容看起来有点枯燥,但相信我,后面讲到具体的最优制导律设计时,你会感谢今天花时间把这些概念理清楚的。

一句话总结:变分法是「道」,欧拉-拉格朗日方程是「法」,横截条件是「术」,哈密顿函数是「器」。四者合一,才能做好最优制导律设计。


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