跳转到内容

经典力学/约束

来自维基教科书,开放的书籍,为开放的世界

物理学 - 经典力学

上一页 向上 下一页

什么是约束系统?

[编辑 | 编辑源代码]

在力学中,许多情况下物体的运动会受到某种方式的约束:例如,一个质量很大的珠子可能被限制在某一形状的弯曲的金属丝上运动;一个质量很大的圆柱体可能在表面上滚动(但不会滑动或飞起来);或者两个质量可能通过一根固定长度的刚性杆连接在一起。

在每种情况下,都会有作用在受约束物体上的力。在上面的例子中,金属丝对珠子产生一个力,平面通过摩擦力作用在圆柱体上,而杆拉或推两个质量。这些力可能随时间变化,我们事先不知道这些力的量级。然而,我们知道,这些力在任何时间都是为了保证约束条件成立。如果珠子上没有作用力,它就会飞走,但金属丝提供了一个力来固定珠子。通过一根刚性杆连接的两个质量会受到来自杆的力的作用,这个力恰好足以使它们彼此保持恒定的距离。(这就是“刚性”杆的含义。)

在牛顿力学方法中,通过引入变量 来表示未知力,并解出未知力和加速度的方程组来处理这些系统。这个过程可能会很复杂;此外,我们并不总是对这些未知力的量级感兴趣。

在拉格朗日方法中,有两种简单的方法来处理约束系统

  • 解约束的方法。在这种方法中,我们引入广义坐标,使约束条件自动满足。例如,假设一个点质量被限制在半径为 的圆上运动。我们可以通过说笛卡尔坐标 被约束为满足方程 来描述这种情况。现在我们可以引入角度 作为“广义坐标”,并将点质量的笛卡尔坐标表示为 。这些坐标对所有 解约束。拉格朗日方法的强大之处在于任何广义坐标都足够好;因此,我们现在可以直接用函数 来写拉格朗日量,并忘记系统受到约束的事实。我们将自动获得正确的运动方程。
  • 拉格朗日乘子法。在这个方法中,我们不试图引入新的广义坐标来解决约束条件。(这可能很困难;并非所有代数方程都能解出!)相反,我们在存在约束条件的情况下制定变分问题:正确的轨迹使得作用泛函在满足约束方程的情况下取极值。例如,如果一个质点被限制在半径为的圆周上运动,但除此之外不受力,则拉格朗日量为,约束条件为。正确的轨迹将使得积分在每个处都满足约束条件的情况下取最小值。因此,我们需要解决条件极小化问题。

条件极小化和拉格朗日乘子

[编辑 | 编辑源代码]

条件极小化问题可以用拉格朗日乘子法来解决。我们采用一个不同的、经过特殊修改的拉格朗日量来描述系统受到约束的事实。修改后的拉格朗日量等于正常的拉格朗日量加上包含拉格朗日乘子的特殊项。现在让我们解释一下这个方法。

为简单起见,考虑函数相对于变量的极小化,但要受到约束条件

首先回顾一下,如果没有约束条件,问题将如何解决:的极小值(或者更一般地,极值)将是点,其中的偏导数为零

这将给出两个方程组,用来确定两个未知量

With the constraint, the above system of equations will not give the correct answer because the solution most probably will not satisfy the constraint: . Let us look at the problem geometrically. The constraint determines a curve or several curves in the plane; we are looking for the point on that curve where the function has an extremum. Let us imagine the level lines of the function , i.e. the lines for various values of the constant . The constraint curve may go across the level lines of ; it means that the value of changes along the curve. It is clear from this geometric consideration that the extremum of along the constraint curve will be the point where the constraint curve is tangent to some level line of . A condition for two curves to be tangent is that their normal vectors are parallel. The normal vector to a curve at a point has components . The normal vector to the surface line has components . These two vectors are parallel if there exists a number such that

这与约束条件 构成一个由三个方程组成的方程组,可以确定三个未知数 。通过这种方式,我们可以解决条件最小化问题。

请注意,这些方程与函数 关于三个变量 进行最小化时所得到的结果相同,没有任何约束条件。因此,条件最小化问题等效于对不同函数 进行的普通最小化问题。这个新函数是通过将原始函数 与约束条件 相乘再乘以一个额外的变量 而构建的。这个变量被称为 **拉格朗日乘子**。

使用拉格朗日乘子的例子

[edit | edit source]

下面是一个实例。假设我们需要在约束条件 下最大化函数

首先,我们将约束条件写成 的形式。例如,我们可以取 。(我们选择函数 的方式无关紧要,只要约束条件等效于方程 。)然后我们构建一个新的函数

然后我们需要针对三个变量 最小化这个函数。我们得到方程组

求解这些方程很容易

这些是 的所需值。拉格朗日乘子的值 现在对我们来说没有用 (但在我们把这个方法应用于力学问题时,它将很有用!)

一般情况

[编辑 | 编辑源代码]

约束优化问题的通用形式如下。我们需要找到给定函数 的极值 (或所有极值),其中 是一个变量数组,满足 个不同的约束 .

我之前展示给你的简单情况下的几何考虑(使用函数 的示例)可以推广到多维和多个约束:人们考虑 的等值面和约束给定的表面。约束极值将出现在点,如果 的等值面在该点与约束面相切。约束面是 个不同表面 的交集,每个表面都有自己的法向量。可以使用基本向量代数来证明(我省略了证明)法向量 的等值面必须是 个法向量 的线性组合。因此,约束极值位于点 的条件是:(1) 必须满足所有约束,(2)应该存在 个数字 使得

很容易看出这些条件等价于新函数的极值条件

关于 个变量 ,没有约束条件。

因此,让我们来制定求解约束优化问题的方案。我们引入一个包含 个不同拉格朗日乘子的数组 ,即 ,并构造一个新的函数

然后,我们找到该函数关于总共 个变量 的极值。为此,我们需要求解一个包含 个方程的方程组

通过求解这些方程,我们将获得一组我们感兴趣的值 。辅助变量 的值可以舍弃。

限制在表面的运动

[编辑 | 编辑源代码]

现在让我们考虑第一个约束力学问题:一个质点在势能 中运动,并且还受到约束,只能沿着由方程 给定的表面运动。(这可以通过例如一个质量点在弯曲的表面上无摩擦地滑动来物理实现。)

根据拉格朗日方法,我们必须找到作用量的极值, ,在条件 对所有时间 成立。我们可以应用拉格朗日乘子法。请注意,实际上,我们有 *无限多个* 约束——每个时间点 都有一个约束。因此,我们需要引入一组无限多个拉格朗日乘子,每个 都对应一个拉格朗日乘子。将这组拉格朗日乘子整理成一个 *函数* 比较方便。

根据拉格朗日乘子法,我们需要构建一个“修正后的作用量”,它等于原始作用量减去所有约束乘以各自的拉格朗日乘子的总和。因此,新的作用量是

求解约束优化问题等价于找到泛函 相对于任意 的极值。

现在应该清楚如何从原理上解决“第一个约束问题”。剩下的只是技术上的工作。

  • 从修正后的作用量 推导出欧拉-拉格朗日方程并求解它们。这将是针对未知函数 的方程组。
  • 解释函数 。最终我们会发现 与使质点仅沿表面 运动所需的力有关。因此,拉格朗日乘子在这种情况下具有直接的物理意义。也就是说,我们将证明表面施加的时变 等于

一颗质量很大的珠子放在垂直平面(坐标 )上,作为函数 的图像,其中 是一个给定的常数。唯一的外力是地球的引力场。我们想确定珠子位置的运动方程。

选择约束函数为 。然后修改后的拉格朗日算符是

欧拉-拉格朗日方程以标准方式推导

  • 关于 的变分给出:
  • 关于 的变分给出:
  • 关于 的变分给出:

手动求解这些方程并不容易,但推导它们很简单,而且不需要“思考”,正如物理学家所说。(也就是说,我们只是遵循一般规则,不需要对每个特定情况做出任何特殊决定或找到特殊技巧。)

练习:在选择约束函数时存在任意选择。例如,我们可以选择甚至,而约束线保持不变。证明运动方程也保持不变,仅对的定义进行了更改。

拉格朗日乘数和约束力

[edit | edit source]

从上面例子中的方程可以看出,看起来像是正向力在方向上的分量。因此很明显,拉格朗日乘数与未知的约束力有关。我们现在将在更一般的情况下推导出这种关系。

再次考虑约束问题一。我们使用修正后的拉格朗日量来解决它。项看起来像一个额外的势能,尽管它通过因子依赖于时间。因此,这是一种有点奇怪的势能,但让我们更详细地研究它。只要质点保持在约束曲面内,我们就得到,而这个“额外势能”等于零。但如果质点可以稍微偏离约束曲面,比如说在一个由小向量给出的方向上移动,那么这个“额外势能”将发生变化:

这看起来像是力做的功。力垂直于约束曲面,并且等于 但是我们期望正是这种类型的力作用在质量点上,由约束装置产生。

让我们更正式地验证一下 实际上是我们寻找的约束力。由拉格朗日量 推导出的欧拉-拉格朗日方程的形式是

"质量加速度"

描述了原始拉格朗日量 中由于势能而产生的通常的"自由"力。现在很明显,项 描述了由于约束而产生的额外力。

练习:当然,在定义约束函数 时存在任意选择。例如,我们可以选择约束函数为 或其他一些函数 而不是。证明约束力不依赖于函数 的选择(因为 会根据 的每种不同选择而相应地改变!)。

练习:弄清楚如何计算约束力 ,如果存在多个独立约束 ,..., .

涉及速度的约束

[编辑 | 编辑源代码]

到目前为止,我们只考虑了用坐标函数表示的约束,例如 。这种约束形式涵盖了广泛的应用。但是,在某些重要情况下,物理约束无法用这种方式表示。例如,一个在表面上滚动而不滑动的重球的运动,或者一个在冰面上滑行的滑冰者的运动,只能用同时涉及速度和坐标的复杂约束来描述。这种与简单坐标函数不等价的约束被称为非可积非完整约束,而我们所考虑的约束类型被称为可积完整约束

有人会认为非完整约束可以简单地用拉格朗日乘子添加到拉格朗日函数中。然而,结果是是问题的正确运动方程!主要原因是速度 并没有独立于坐标 变化,因此使用拉格朗日乘子的标准过程并不是实现非完整约束的正确方法。一个专门的理论(基于所谓的阿佩尔方程)被发展起来,用来推导具有非完整约束的系统的运动方程。但是,这个理论超出了最小标准课程的范围。

华夏公益教科书