Skip to content

分析力学开端, 拉格朗日力学或源于常见结论

Before everything, 我们先给出基本形式的拉格朗日方程:

$\frac{\text{d}{\text{d}t}\left( \frac{\partial T}{\partial {\dot{q}{\alpha } \right)-\frac{\partial T}{\partial {q}{\alpha }={Q}_{\alpha },\ \alpha =1,2,\cdot \cdot \cdot ,s.$

其中 是体系动能, 是广义力, 是广义坐标, 是自由度数.

一般我们所说的拉格朗日方程更多是指保守力系的拉格朗日方程:

$\frac{\partial L}{\partial {q}{\alpha }=\frac{\text{d}{\text{d}t}\left( \frac{\partial L}{\partial {\dot{q}{\alpha } \right),\ \alpha =1,2,\cdot \cdot \cdot ,s.$

其中 为拉格朗日量, 是动能减去势能, 即 其实这才是真正有价值的方程, 因为后期的理论都是保守系统, 你也不会真的去算力学题. 这个方程可以直接从最小作用量原理[[1]](#ref_1)得到.

初见这个方程大概是感到震撼的, 因为在接触分析力学之前我们印象中的力学其实都是同一类, 即牛顿力学或者说矢量力学. 印象中力学题目最重要的就是受力分析, 然后就是解微分方程对吧? 但这个方程的出现却意味着在力学中力并不是什么必要的概念. 最基础的概念应该是坐标和动量. 然后据此可以完全无需受力分析就能直接通过解微分方程得到系统内各质点的运动轨迹 {\vec{r}_{i}={\vec{r}_{i}\left( t \right) , 事实上这就是力学的核心目的: 预测系统的演化.

不需要受力分析给力学带来的意义是巨大的, 因为牛顿力学在处理多体问题时是如此之无力. 那么这个有些钦定意味的方程是怎么来的呢? 可以直接从哈密顿原理得到, 也可以从牛顿方程推得, 经过这个推演, 你就会发现, 这一切都是如此自然、直观.

我们可以结合达朗贝尔原理虚功原理得到拉格朗日方程.

但这俩原理就凭空给出来的话, 大家作为新手可能会觉得有那么点儿不好接受, 所以我接下来就要用牛顿定律作为基本原理把这俩推导出来, 实际上以这俩原理作为基本原理的话也可以反回去得到牛顿定律, 它们是等价的.

咱得先从虚功原理讲起, 首先要注意到的是, 虚功原理是分析静力学中的重要原理, 所以后面讨论的就都是一些受力平衡的情况.

先得引入虚位移这个概念, 虚位移记作 , 这和作为位置矢量之微分的无穷小位移 很像. 可以说虚位移是位置矢量的变分, 变分运算法则暂且可以认为是和微分运算一摸一样的, 不过要把 改成 . 虚位移 实际上可以当作是坐标上发生的微小扰动. 这是静力学, 系统都是静止的, 不会发生真正的位移, 所以这个扰动叫做虚位移. 你也可以说是假想的一个位移, 它是一个纯几何[2]概念. 然后这个位移也不是无限制的, 它必须是在相应约束条件下逻辑上允许发生的位移. 比如说对于一端固定的绳索上的小球而言, 它的虚位移就不能导致它超出绳索能够到的范围, 但除此之外就再无限制, 虚位移可以沿着任何方向, 它不唯一. 如果系统坐标真的会发生变动的话, 那这个实际位移将是虚位移中的一个, 即符合物理定律的那个. 最后应该指出的是虚位移是某一时刻发生的, 即 , 而实际位移 的发生需要时间, 即

我们只研究理想约束问题, 其定义是 \sum\limits_{i=1}^{n}{\vec{R}_{i}\cdot \delta {\vec{r}_{i}=0}, 其中 {\vec{R}_{i} 是约束力[3], 而下标 是系统内质点的标号, 所以这个定义就是说要求约束力在虚位移上做的总功为零. 那么如何判断系统的约束是不是理想约束呢? 一般来说只要没有摩擦力就是理想约束了[4].

虚功原理的推导:

下面的推导将很有启发性, 因为这就是特殊情况下的拉格朗日方程的推导.

静止或匀速运动说明每个质点都受力平衡,

对第 个质点即有 {\vec{F}_{i}+{\vec{R}_{i}=0, 其中 {\vec{F}_{i} 为主动力, {\vec{R}_{i} 为约束力.

两边点乘虚位移得到 {\vec{F}_{i}\cdot \delta {\vec{r}_{i}+{\vec{R}_{i}\cdot \delta {\vec{r}_{i}=0, 其中的虚位移是任意的.

全质点求和得到 \sum\limits_{i=1}^{n}{\left( {\vec{F}_{i}\cdot \delta {\vec{r}_{i}+{\vec{R}_{i}\cdot \delta {\vec{r}_{i} \right)}=0.

因为是理想约束所以第二项为零, 得到\sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}=0}, 即主动力在虚位移上做总功为零.

我们将\sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i} 定义为虚功, 记作

所以虚功原理说的就是[5].

解决静力学问题就是通过解方程 \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}=0} 来获得系统内各个质点的坐标.

但这个方程不太能被轻易地解出来··· 因为有约束条件, 所以各个质点的坐标 {\vec{r}_{i} 之间会互相制约, 关系变得错综复杂, 即各个质点的坐标之间并不是独立的. 所以牛顿力学中约束越多方程越多就越难以求解, 但这其实很莫名其妙, 因为直观来想, 难道不是自由度越低的系统面对的计算量就越小吗? 而分析力学就符合这个直观.

系统的自由度 是质点数 的三倍减去约束方程的个数 , 即 . 简单来说自由度就是确定这个系统的形态[6]所需要的相互独立的参数的数目, 这些参数被我们称为广义坐标. 没有约束的时候每个质点都有 三个笛卡尔空间坐标, 所以需要 个参数才能确定这个系统的态, 而每增加一个约束就会减少一个自由度是很显然的, 因为其中一个坐标参数可以通过该约束带来的约束方程由其它的坐标参数表达出来, 即一个方程可以减少一个未知参数. 而这些参数之所以被称为广义坐标是因为这些坐标参数不一定是传统笛卡尔坐标系下的空间坐标参数了, 它可以是角度或面积、体积甚至电极化强度之类的量. 最后我们将广义坐标记作

现在选定 个可以唯一确定系统形态的广义坐标后, 传统坐标就可以用广义坐标表达出来:

{\vec{r}_{i}={\vec{r}_{i}\left( {q}_{1},{q}_{2},...,{q}_{s},t \right) \Rightarrow \delta {\vec{r}_{i}=\sum\limits_{\alpha =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\delta {q}_{\alpha }+\frac{\partial {\vec{r}_{i}{\partial t}\delta t=\sum\limits_{\alpha =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\delta {q}_{\alpha },\ \delta t=0.

带入 \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}=0} 得到 \sum\limits_{i=1}^{n}{\sum\limits_{\alpha =1}^{s}{\vec{F}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\delta {q}_{\alpha }=0} \Rightarrow \sum\limits_{\alpha =1}^{s}{\left[ \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha } \right]\delta {q}_{\alpha }=0.

可以记作 其中 {Q}_{\alpha }\equiv \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha } 被称为广义力.

现在好了*,* 个广义坐标都是相互独立的, 而 又都是任意的.

所以要让上面那个方程成立就只可能是 {Q}_{\alpha }=\sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\text{0}.

这样的方程一共有 个, 刚好可以解决问题.

实际上这个方程就是拉格朗日方程在动能恒为零时的特例了.

关于虚功原理的一点迷思: 还记得虚功 $\delta W$ 的定义 $\sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}$ 吗? 所以实际上虚功 $\delta W=0$ 的意思就是说原有的各个坐标参数值已经使得系统的总能量取到一个极值了, 因为无法做功, 所以在这个状态下可能发生的任何符合物理定律甚至不符合物理定律的小位移都不会再改变系统的总能量了. 这是符合直觉的, 因为日常经验告诉我们能量越低越稳定[[7]](#ref_7), 在力的作用下最后稳定下来的系统状态一定会使得能量取极小值, it's all about extremum.

接下来就是介绍达朗贝尔原理了:

我们从老朋友牛顿定律 {\vec{F}_{i}+{\vec{R}_{i}=m{\ddot{\vec{r}_{i} 出发.

现在做一个变形得到 {\vec{F}_{i}+{\vec{R}_{i}-m{\ddot{\vec{r}_{i}=0.

是否觉得上述变形很 trivial? 数学上也许是吧, 这叫移项. 但是在物理上这个过程很不一般, 我一开始学习虚功原理的时候就觉得了, 这个虚功原理就是逊啦, 只能解决静力学问题, 再巧妙也难以撼动牛顿力学吧. 但是就是这个变形, 它改变了力学. 这个变形的想法给人感觉就是选定了这个质点作为参考系, 这是一个非惯性系所以减去的那一项其实就是所谓的惯性力, 那这么一来动力学问题就好像被巧妙地转化为静力学问题了.

但实际上···

哎不管怎么说, 从这一刻开始就又可以重复静力学的套路——虚功原理了.

两边乘上虚位移得到 {\vec{F}_{i}\cdot \delta {\vec{r}_{i}+{\vec{R}_{i}\cdot \delta {\vec{r}_{i}-{m}_{i}{\ddot{\vec{r}_{i}\cdot \delta {\vec{r}_{i}=0, 其中的虚位移是任意的.

因为是理想约束所以有 \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}-\sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \delta {\vec{r}_{i}=0.

这就是所谓的达朗贝尔原理.

下面就可以开始推导拉格朗日方程了:

先将例の \delta {\vec{r}_{i}=\sum\limits_{\alpha =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\delta {q}_{\alpha } 带入达朗贝尔原理 \sum\limits_{i=1}^{n}{\vec{F}_{i}\cdot \delta {\vec{r}_{i}-\sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \delta {\vec{r}_{i}=0.

得到 \sum\limits_{\alpha =1}^{s}{Q}_{\alpha }\delta {q}_{\alpha }-\sum\limits_{\alpha =1}^{s}{\left[ \sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha } \right]\delta {q}_{\alpha }=0.

现在记 \sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\equiv {P}_{\alpha }, 我们也先专注处理这块儿.

{P}_{\alpha }=\sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\text{d}{\text{d}t}\left[ \sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha } \right]-\sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\text{d}{\text{d}t}\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }.

这是一个分部积··· 分部微分吧, 或者你想潮一点也可以叫它勒让德变换.

显然有 \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\partial {\dot{\vec{r}_{i}{\partial {\dot{q}_{\alpha }\frac{\text{d}{\text{d}t}\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\partial {\dot{\vec{r}_{i}{\partial {q}_{\alpha }.

hhh 不显然. 不过别担心, 后面会证明, 这里先直接当结论, 因为这样比较连贯.

所以有 {P}_{\alpha }=\frac{\text{d}{\text{d}t}\left[ \sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\partial {\dot{\vec{r}_{i}{\partial {\dot{q}_{\alpha } \right]-\sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\partial {\dot{\vec{r}_{i}{\partial {q}_{\alpha }.

不难得到 \left\{ \begin{align} & \frac{\partial }{\partial {\dot{q}_{\alpha }T=\frac{\partial }{\partial {\dot{q}_{\alpha }\left( \sum\limits_{i=1}^{n}{\frac{1}{2}{m}_{i}{\dot{\vec{r}_{i}^{2} \right)=\sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\partial {\dot{\vec{r}_{i}{\partial {\dot{q}_{\alpha }, \\ & \frac{\partial }{\partial {q}_{\alpha }T=\frac{\partial }{\partial {q}_{\alpha }\left( \sum\limits_{i=1}^{n}{\frac{1}{2}{m}_{i}{\dot{\vec{r}_{i}^{2} \right)=\sum\limits_{i=1}^{n}{m}_{i}{\dot{\vec{r}_{i}\cdot \frac{\partial {\dot{\vec{r}_{i}{\partial {q}_{\alpha }, \\ \end{align} \right. 其中 是系统动能.

所以 {P}_{\alpha }=\frac{\text{d}{\text{d}t}\frac{\partial T}{\partial {\dot{q}_{\alpha }-\frac{\partial T}{\partial {q}_{\alpha }.

终于, 我们结合 \left\{ \begin{align} & \sum\limits_{\alpha =1}^{s}{Q}_{\alpha }\delta {q}_{\alpha }-\sum\limits_{\alpha =1}^{s}{\left[ \sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha } \right]\delta {q}_{\alpha }=0,\ \\ & {P}_{\alpha }\text{=}\sum\limits_{i=1}^{n}{m}_{i}{\ddot{\vec{r}_{i}\cdot \frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha },\ \\ & {P}_{\alpha }=\frac{\text{d}{\text{d}t}\frac{\partial T}{\partial {\dot{q}_{\alpha }-\frac{\partial T}{\partial {q}_{\alpha }.\ \\ \end{align} \right.

就可以得到 \sum\limits_{\alpha =1}^{s}{\left( {Q}_{\alpha }-\frac{\text{d}{\text{d}t}\frac{\partial T}{\partial {\dot{q}_{\alpha }+\frac{\partial T}{\partial {q}_{\alpha } \right)\delta {q}_{\alpha }=0.

现在好了*,* 个广义坐标都是相互独立的, 而 又都是任意的.

所以上面那个方程的成立只可能是: ${Q}{\alpha }-\frac{\text{d}{\text{d}t}\frac{\partial T}{\partial {\dot{q}{\alpha }+\frac{\partial T}{\partial {q}_{\alpha }=0,\ \alpha =1,2,\cdots ,s.$

于是就得到了基本形式的拉格朗日方程 $\frac{\text{d}{\text{d}t}\left( \frac{\partial T}{\partial {\dot{q}{\alpha } \right)-\frac{\partial T}{\partial {q}{\alpha }={Q}_{\alpha },\ \alpha =1,2,\cdots ,s.$

接下来, 历史遗留问题:

\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\partial {\dot{\vec{r}_{i}{\partial {\dot{q}_{\alpha }\frac{\text{d}{\text{d}t}\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\partial {\dot{\vec{r}_{i}{\partial {q}_{\alpha }.

第一个还真是显然的:

\text{d}{\vec{r}_{i}=\sum\limits_{\alpha =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }\text{d}{q}_{\alpha }+\frac{\partial {\vec{r}_{i}{\partial t}\text{d}t\Rightarrow {\dot{\vec{r}_{i}=\sum\limits_{\alpha =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }{\dot{q}_{\alpha }+\frac{\partial {\vec{r}_{i}{\partial t}\Rightarrow \frac{\partial {\dot{\vec{r}_{i}{\partial {\dot{q}_{\alpha }=\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }.

至于第二个:

\frac{\text{d}{\text{d}t}\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\sum\limits_{\beta =1}^{s}{\frac{\partial }{\partial {q}_{\beta }\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }{\dot{q}_{\beta }+\frac{\partial }{\partial t}\frac{\partial {\vec{r}_{i}{\partial {q}_{\alpha }=\frac{\partial }{\partial {q}_{\alpha }\left( \sum\limits_{\beta =1}^{s}{\frac{\partial {\vec{r}_{i}{\partial {q}_{\beta }{\dot{q}_{\beta }+\frac{\partial \vec{r}{\partial t} \right)=\frac{\partial \dot{\vec{r}{\partial {q}_{\alpha }.

这是一元函数的复合函数求全导数的链导法.

终于结束了,

所以说 \frac{\text{d}{\text{d}t}\left( \frac{\partial T}{\partial {\dot{q}_{\alpha } \right)-\frac{\partial T}{\partial {q}_{\alpha }={Q}_{\alpha },\ \alpha =1,2,\cdots ,s 的根源,

其实就是 {\vec{F}_{i}+{\vec{R}_{i}-m{\ddot{\vec{r}_{i}=0.

比较虚功原理的推导与拉格朗日方程的推导, 不难发现虚功原理就是动能恒为零的拉格朗日方程.

最后提一下, 保守力系统指的就是说所有的广义力都可以表达为势能对相应的广义坐标的偏导的情形, 就是说系统力的所有力都对应了一种势能.

写出来就是有 {Q}_{\alpha }=-\frac{\partial {V}_{\alpha }{\partial {q}_{\alpha },\ \alpha =1,2,\cdots ,s.

但很显然, 我们可以写总势能 上去得到 {Q}_{\alpha }=-\frac{\partial V}{\partial {q}_{\alpha },\ \alpha =1,2,\cdots ,s.

这是因为势能对非对应的广义坐标求偏导是零[8], 所以加上去也没啥.

这样一来上面的方程就可以做如下改写:

\ \ \ \ \ \frac{\text{d}{\text{d}t}\left( \frac{\partial T}{\partial {\dot{q}_{\alpha } \right)-\frac{\partial T}{\partial {q}_{\alpha }={Q}_{\alpha }=-\frac{\partial V}{\partial {q}_{\alpha }.

\Rightarrow \frac{\text{d}{\text{d}t}\left( \frac{\partial T}{\partial {\dot{q}_{\alpha } \right)-\frac{\partial \left( T-V \right)}{\partial {q}_{\alpha }=0.

要知道势能不可能是速度的函数, 即是说 \frac{\partial V}{\partial {\dot{q}_{\alpha }=0.

加入这一项就有 \frac{\text{d}{\text{d}t}\frac{\partial \left( T-V \right)}{\partial {\dot{q}_{\alpha }-\frac{\partial \left( T-V \right)}{\partial {q}_{\alpha }=0.

现在记 就得到 $\frac{\partial L}{\partial {q}{\alpha }=\frac{\text{d}{\text{d}t}\left( \frac{\partial L}{\partial {\dot{q}{\alpha } \right),\ \alpha =1,2,\cdot \cdot \cdot ,s.$

参考

  • ^或称哈密顿原理.
  • ^意思是不受动力学方程或者说物理定理的束缚或者说不必遵循物理定律, 只受几何上的限制.
  • ^即主动力之外的力, 比如支持力啊之类的都是约束力.
  • ^光滑接触面约束、光滑铰链、杠杆或绳子铁链连接之类.
  • ^不难看出其源于受力平衡.
  • ^即各个质点所处位置.
  • ^其实这个可以从稳定平衡与非稳定平衡的角度来分析, 我懒得讲了.
  • ^各个广义坐标都是独立的, 所以不会说有一项势能会同时对应到两个不同的广义坐标.

用 Markdown 与 LaTeX 记录清晰、可复查的学习过程。