拉格朗日力学(Lagrange Machenics)
本文介绍了拉格朗日力学的基本概念和方法。首先定义了广义坐标作为描述系统状态的独立变量,并通过双摆示例说明其应用。然后引入拉格朗日量L=T-V(动能减势能),由此推导出广义动量和广义力的表达式。核心是欧拉-拉格朗日方程,它建立了广义力与拉格朗日量的关系。最后以单摆为例,展示了如何通过该方法建立运动方程。拉格朗日力学通过能量方法简化了复杂系统的动力学分析,是经典力学的重要工具。
一切都基于拉格朗日量(Lagrangian)和广义坐标(Configuration Coordinates)。我以比 Wikipedia 更容易理解的方式说明拉格朗日力学的基本思想。
广义坐标
广义坐标是在完整约束下,完整描述系统状态的任意一组独立的量组成的坐标。
- 什么叫完整约束下,完整描述?

例如上图所示的双摆,如果不考虑任何约束,系统的自由度等于6(因为有两个小球,一个小球的自由度是3),需要6个独立的量描述整个系统。如果将这个双摆约束在一个平面,那么有两条约束了,一是小球1在平面内,二是小球2在平面内,自由度为4。但目前的约束还不完整,因为没有考虑双摆中必然出现的约束——连接小球的绳长固定。如果考虑了这一点,就新增了两条约束,分别来自图中的 L 1 L_1 L1 和 L 2 L_2 L2,自由度减 2,等于2,这时约束才完整。根据广义坐标的定义,用 ( θ 1 , θ 2 ) (\theta_1, \theta_2) (θ1,θ2) 作为广义坐标,描述双摆系统,因为这两个量相互独立,在完整约束下用最少的元素描述了整个双摆系统。 - 什么叫任意一组?
例如描述物体的位置,可以用笛卡尔坐标 ( x , y , z ) (x,y,z) (x,y,z) 或极坐标 ( ρ , θ ) (\rho,\theta) (ρ,θ),取里面任意一种表示方法即可。
刚才给出的例子中, θ \theta θ 的量纲并不是长度,由此可见,广义坐标的元素的量纲不一定都是长度,但在拉格朗日力学的分析过程中,可以当成长度来理解,广义就广义在这里。例如角速度、角动量、力矩、转动惯量等概念(假设你学过大学物理),就是将角度当作位移来看待,因此角速度对应速度,角动量对应动量,力矩对应力,转动惯量对应质量。将 n n n维广义坐标记为 ( q 1 , q 2 , . . . , q n ) (q_1,q_2,...,q_n) (q1,q2,...,qn),则定义广义速度:
q s ˙ = d q s d t \dot{q_s}=\cfrac{d q_s}{d t} qs˙=dtdqs
其中 s s s 是下标,表示广义坐标的第 s s s 个元素。因为广义坐标的元素相互独立,所以是 d d d 而不是 ∂ \partial ∂。同理,广义加速度 :
q s ¨ = d 2 q s d t 2 \ddot{q_s}=\cfrac{d^2 q_s}{d t^2} qs¨=dt2d2qs
拉格朗日量
定义拉格朗日量,有时也称拉格朗日函数(不是在等式约束下求函数极值的那个拉格朗日函数,两者同名,但描述的对象完全不同):
L = T − V L=T-V L=T−V
其中 T T T 是系统总动能(kinetic energy), V V V 是总势能(potential energy )。引入了拉格朗日量后,可以继续定义广义动量 :
p s = ∂ L ∂ q s ˙ p_s= \cfrac{\partial L}{\partial \dot{q_s}} ps=∂qs˙∂L
因为动量
p = m v = d d v ( 1 2 m v 2 ) = d E k d v p =mv =\cfrac{d}{dv}\left(\cfrac{1}{2}mv^2\right)=\cfrac{dE_k}{dv} p=mv=dvd(21mv2)=dvdEk
势能与速度无关:
d E p d v = 0 \cfrac{dE_p}{dv}=0 dvdEp=0
所以:
p s = ∂ E k ∂ q s ˙ = ∂ E k ∂ q s ˙ − ∂ E p ∂ q s ˙ = ∂ L ∂ q s ˙ p_s =\cfrac{\partial E_k}{\partial \dot{q_s}} = \cfrac{\partial E_k}{\partial \dot{q_s}} - \cfrac{\partial E_p}{\partial \dot{q_s}} = \cfrac{\partial L}{\partial \dot{q_s}} ps=∂qs˙∂Ek=∂qs˙∂Ek−∂qs˙∂Ep=∂qs˙∂L
定义广义力:
F s = ∂ L ∂ q s = d p s d t = d d t ( ∂ L ∂ q s ˙ ) \begin{aligned} F_s &= \cfrac{\partial L}{\partial q_s} \\ &= \cfrac{d p_s}{dt} = \cfrac{d}{dt}\left(\cfrac{\partial L}{\partial \dot{q_s}}\right) \end{aligned} Fs=∂qs∂L=dtdps=dtd(∂qs˙∂L)
因为 F = − d E p d l F=-\cfrac{dE_p}{dl} F=−dldEp, d E k d l = 0 \cfrac{dE_k}{dl}=0 dldEk=0, F = m a = d ( m v ) d t = d p d t F=ma=\cfrac{d(mv)}{dt}=\cfrac{dp}{dt} F=ma=dtd(mv)=dtdp,所以
F s = − ∂ E p ∂ q s = ∂ E k ∂ q s − ∂ E p ∂ q s = ∂ L ∂ q s = d p s d t \begin{aligned} F_s & = -\cfrac{\partial E_p}{\partial q_s} = \cfrac{\partial E_k}{\partial q_s} -\cfrac{\partial E_p}{\partial q_s} = \cfrac{\partial L}{\partial q_s} \\ & = \cfrac{d p_s}{dt} \end{aligned} Fs=−∂qs∂Ep=∂qs∂Ek−∂qs∂Ep=∂qs∂L=dtdps
欧拉-拉格朗日方程
从广义力的定义式得出
d d t ( ∂ L ∂ q s ˙ ) = ∂ L ∂ q s \cfrac{d}{dt}\left(\cfrac{\partial L}{\partial \dot{q_s}}\right) = \cfrac{\partial L}{\partial q_s} dtd(∂qs˙∂L)=∂qs∂L
这就是欧拉-拉格朗日方程(Euler–Lagrange equations),两边都等于广义力。对 n n n 维广义坐标的每个元素都列出这样的方程,就组成了包含 n n n 个未知数( q s q_s qs)和 n n n 个方程的方程组,可以求解,得到每时每刻系统的状态!这就是拉格朗日力学的基本思想。
示例:单摆

假设你学过高中物理。假设这个小球的运动只限制在一个平面内,则系统的自由度仅为1,用 θ \theta θ 这一个量作为广义坐标。系统动能等于小球动能
T = 1 2 m v 2 = 1 2 m ( l ω ) 2 = 1 2 m ( l θ ˙ ) 2 = 1 2 m l 2 θ ˙ 2 T= \cfrac{1}{2}mv^2 = \cfrac{1}{2}m\left(l\omega\right)^2 = \cfrac{1}{2}m\left(l\dot{\theta}\right)^2 = \cfrac{1}{2}ml^2\dot{\theta}^2 T=21mv2=21m(lω)2=21m(lθ˙)2=21ml2θ˙2
系统势能等于小球重力势能(取图中天花板所在平面为零重力势能面):
V = − m g l cos θ V = -mgl\cos\theta V=−mglcosθ
则拉格朗日量
L = T − V = 1 2 m l 2 θ ˙ 2 + m g l cos θ L= T-V = \cfrac{1}{2}ml^2\dot{\theta}^2 + mgl\cos\theta L=T−V=21ml2θ˙2+mglcosθ
根据欧拉-拉格朗日方程
d d t ( d L d θ ˙ ) = d L d θ m l 2 θ ¨ = − m g l sin θ l θ ¨ + g sin θ = 0 \begin{aligned} \cfrac{d}{dt}\left(\cfrac{dL}{d\dot{\theta}}\right) &= \cfrac{dL}{d\theta} \\ ml^2\ddot{\theta} &= -mgl\sin\theta \\ l\ddot{\theta}+g\sin\theta &= 0 \\ \end{aligned} dtd(dθ˙dL)ml2θ¨lθ¨+gsinθ=dθdL=−mglsinθ=0
l θ ¨ + g sin θ = 0 l\ddot{\theta}+g\sin\theta=0 lθ¨+gsinθ=0 并不容易解出,但如果 θ \theta θ 很小,认为 sin θ ≈ θ \sin\theta \approx \theta sinθ≈θ,则有 l θ ¨ + g θ = 0 l\ddot{\theta}+g\theta = 0 lθ¨+gθ=0,通过 Laplace 变换即可解出, θ \theta θ 是一个关于时间 t t t 正弦函数,小球做简谐运动。
总结
拉格朗日量
L = T − V L=T-V L=T−V
欧拉-拉格朗日方程,两边都表示广义力:
d d t ( ∂ L ∂ q s ˙ ) = ∂ L ∂ q s \cfrac{d}{dt}\left(\cfrac{\partial L}{\partial \dot{q_s}}\right) = \cfrac{\partial L}{\partial q_s} dtd(∂qs˙∂L)=∂qs∂L
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)