老师不会教你的理(biàn)论(fēn)力(yuán)学(lǐ)part4.拉格朗日方程

来源:https://zhuanlan.zhihu.com/p/337633560
作者:灵动之翼

这次我们……咦?不是还有补充部分没完吗?嗯,补充部分一定会出的,不过那是支线任务,我们的主线任务也不能落下嘛!
这次我们要做一件惊天动地的大事:推导出达朗贝尔方程和拉格朗日方程。听起来是不是很牛?
image.png
呃,然而事实上这一章就是走走过场,因为这两个方程的推导在知乎里随便就能搜到……不过我们的专栏既然是叫“不一样的物理学”,我们的推导一定也要不一样嘛!一定也得是“严谨而有趣”的呀。
好啦,那我们就开始吧。
首先想想,我们为什么要引入新的力学体系呢?这是因为在约束力过多的体系中,牛顿力学显得很无力,因为约束力的大小往往是未知的,而且很多时候也没必要知道,但牛顿力学却不得不将它们都算出来。既然这样,我们自然希望拥有一个新的体系,可以不必算出约束力,就能知道物体的运动过程。达朗贝尔方程就是为了解决这一问题。
我们知道,力可以被分为约束力和主动力。那么如何才能不算出约束力就解出物体的运动过程呢?要做到这一点,我们必须把约束力和主动力分开——要是两者没有区别,我们怎么可能在保留主动力的同时去掉约束力嘛!
那么约束力有什么特殊性质可以让它区别于主动力呢?想一想,在我们的观念中,约束力似乎总是可以无限增大,只要能让物体保持想要的约束条件。比如约束在一个桌子上的物体,无论怎么运动都不可能穿到桌子下面去,即使在物体上方施加很大的压力也不会——除非桌子破了,那就是约束被破坏了……我们才不讨论这种暴力的情况呢!
但是,你想直接知道桌子对物体的约束力,也就是竖直向上的支持力,可以吗?不行,通常我们只能通过二力平衡的条件,算出物体对桌子的正压力来间接求得约束力。
所以,我们发现约束力有两个特性:它对物体运动状态的约束很容易知道(比如无法越过桌子),但约束力的大小不容易直接求得。
这样的话,我们似乎可以认为:约束力的方向总是与物体运动方向垂直,即约束力和位移的点乘恒为0。但这是不对的哦!这种通常只在只有一个质点,且约束稳定的前提下成立。如果是两个质点用杆连在一起,那么杆对它们的约束力也不一定和质点运动方向垂直,但是它们各自的位移和约束力的点乘结果加起来却总是0。如果是不稳定约束,那么约束将随时间变化,物体的运动也会随时间变化,但约束力和虚位移的点乘却为0。所以,约束力满足的条件应该是
part4.拉格朗日方程 - 图2
满足这个条件的约束,被称为理想约束。
其实,就算是理想约束,也没有包含所有的约束,不过已经包含绝大多数约束了。
好了,找出了约束力和主动力的区别,我们就可以开始构建一个不含约束力的力学体系啦!
首先,如果一个体系中有多个质点,那么对每个质点都有牛顿第二定律(向量符号太麻烦了我就略去了,反正你懂的啦)
part4.拉格朗日方程 - 图3
其中 part4.拉格朗日方程 - 图4 代表第 part4.拉格朗日方程 - 图5 个质点受到的(合)主动力, part4.拉格朗日方程 - 图6 代表第 part4.拉格朗日方程 - 图7 个质点受到的(合)约束力,字母上面的点表示对时间求导。这个式子也可以写成
part4.拉格朗日方程 - 图8
现在我们自然是要想办法消去这个方程的约束力。怎么消去呢?当然是要利用理想约束啦!只要在等式两边都乘一个 part4.拉格朗日方程 - 图9 ,就有
part4.拉格朗日方程 - 图10
注意,现在还不能使用理想约束来消去约束力哦!为什么?有没有发现,理想约束的定义式前面有个求和号?哈哈,所以为了使用理想约束,我们要先把上式对所有质点求和:
part4.拉格朗日方程 - 图11
或者写成
part4.拉格朗日方程 - 图12
现在再利用理想约束的定义 part4.拉格朗日方程 - 图13 ,上式就不再含有约束力啦
part4.拉格朗日方程 - 图14
至此我们终于把约束力都消去啦!
我们现在得到的这个等式,就是传说中的达朗贝尔方程了。我们可以直接用它解决一些力学问题。可是,这个方程好不容易请走了约束力这个神仙,却又引进了变分 part4.拉格朗日方程 - 图15 这个同样不好处理的东西。我们能不能进一步推导出一个不含变分的方程呢?
在此之前我们先想想,怎么处理达朗贝尔方程中的变分这个玩意儿呢?首先,达朗贝尔方程是一个矢量方程,要让它便于处理,应该把它写成分量形式,这样在三维空间中就会有3个达朗贝尔方程。
我们知道,唯一限制变分的就是约束条件。那么现在我们想想,如果质点系在某个方向上没有约束,比如 part4.拉格朗日方程 - 图16 方向,那么这个方向上就可以有任意的虚位移,对应的达朗贝尔方程
part4.拉格朗日方程 - 图17
里面的 part4.拉格朗日方程 - 图18 就都是关于时间 part4.拉格朗日方程 - 图19 的任意函数(这个不理解的话可以看看这个系列的part3哦)。几个任意函数之和恒等于0,怎么可能呢?嗯,只有可能是它们的系数全为0啦!(这一点要严格证明也很容易,用反证法就好了)
part4.拉格朗日方程 - 图20
这样,对于 part4.拉格朗日方程 - 图21 个质点的质点系,我们在 part4.拉格朗日方程 - 图22 方向上就得到了 part4.拉格朗日方程 - 图23 个微分方程。其实这不就是牛顿第二定律嘛!的确,因为我们刚才假定了 part4.拉格朗日方程 - 图24 方向没有约束力,那达朗贝尔方程其实没什么必要嘛!
那么如果有约束呢?比如在 part4.拉格朗日方程 - 图25 方向有约束 part4.拉格朗日方程 - 图26 ,那么 part4.拉格朗日方程 - 图27 就是关于 part4.拉格朗日方程 - 图28 的确定的函数,它的变分恒为0,或者说这个方向上的虚位移恒为0,此时达朗贝尔方程等号左边也恒为0,变得没有意义了。但是如果 part4.拉格朗日方程 - 图29 方向有了这么强的约束条件,我们其实都不用再研究 part4.拉格朗日方程 - 图30 方向的运动了,因为 part4.拉格朗日方程 - 图31 ,不就意味着 part4.拉格朗日方程 - 图32 方向的运动完全是已知的嘛!
等等,你到底想说什么?为什么这几段一直在说这么显然的废话?
哈哈,别急,毕竟我们要先说一下方程中变分的处理方式。我们现在要研究一些困难的情况了:如果约束不那么简单,比如约束是 part4.拉格朗日方程 - 图33 ,那该怎么处理?
这个时候在 part4.拉格朗日方程 - 图34 方向上的变分都不再是任意的,它们之间存在关系。但是,如果我们令 part4.拉格朗日方程 - 图35 ,并把 part4.拉格朗日方程 - 图36 当做两个新的坐标,那 part4.拉格朗日方程 - 图37 就满足上述的“无约束”的情形, part4.拉格朗日方程 - 图38 就满足上述的“无虚位移”的情形(其实就是一个常数了)。这样,把达朗贝尔方程中所有的 part4.拉格朗日方程 - 图39 都用 part4.拉格朗日方程 - 图40 代换,不就可以处理达朗贝尔方程了嘛!
从这个方法我们就看出,只要选取合适的坐标,就可以方便地处理变分了。这就是下面要推导的拉格朗日方程的基本思想。
首先,为了选取合适的坐标来处理变分,我们要引入“广义坐标”的概念。
如果一个质点系含有 part4.拉格朗日方程 - 图41 个质点, part4.拉格朗日方程 - 图42 个约束条件,就应该有 part4.拉格朗日方程 - 图43 个坐标。但由于约束条件的存在,这 part4.拉格朗日方程 - 图44 个坐标不是独立的。每有一个约束条件,就可以消去1个坐标,因此一个质点系只有 part4.拉格朗日方程 - 图45 个坐标是独立的,我们也说这个质点系有 part4.拉格朗日方程 - 图46 个自由度,因为只要 part4.拉格朗日方程 - 图47 个独立坐标就可以完全确定这个质点系中各个质点的位置。我们就把这 part4.拉格朗日方程 - 图48 个独立坐标称为“广义坐标”。广义坐标的选取方式并不唯一。
这样,借助广义坐标,我们就可以从达朗贝尔方程入手,建立不含变分的动力学方程啦!不过我们要先把达朗贝尔方程中所有的位置矢量 part4.拉格朗日方程 - 图49 用广义坐标表示出来,包括变分 part4.拉格朗日方程 - 图50 。好在,我们在part3已经学过变分公式 part4.拉格朗日方程 - 图51 啦,而且 part4.拉格朗日方程 - 图52 仅仅是关于广义坐标和时间的函数,与广义坐标的一阶导数无关,所以r的变分形式就更简单啦(为了便于初学者理解,我们不使用爱因斯坦求和约定):
part4.拉格朗日方程 - 图53
至于 part4.拉格朗日方程 - 图54 的二阶导数,理论上可以用多元函数求导法则,不过……太可怕了,如果体系有s个自由度,那么一次求导就会出现s项,二阶导就意味着每一项再求一次导,那么每一项都还会出现更多项……我们还是先把这一项留着吧,毕竟我们现在的主要目标是处理变分嘛!所以现在的达朗贝尔方程变成了:
part4.拉格朗日方程 - 图55
现在这个式子和我们之前处理的还不太一样,因为多了一个求和号,而且我们最想要的求和号不在最前面。不过,后面的求和号是可以移到最前面去的(这个如果不明白的话,可以把求和展开来写写看),所以上式可以写成
part4.拉格朗日方程 - 图56
这样,仿照之前的做法,我们知道所有变分的系数必须全为0,所以:
part4.拉格朗日方程 - 图57
或者写成
part4.拉格朗日方程 - 图58
我们把等号右边定义为对应于广义坐标 part4.拉格朗日方程 - 图59 的“广义力”,用 part4.拉格朗日方程 - 图60 来表示。它和一般的“力”的区别在于:它是一般的力和另一个矢量 part4.拉格朗日方程 - 图61 点乘的结果,是一个标量,而且它从属于一个广义坐标。离开了广义坐标,它就没有什么意义了。嗯,相当于主人和仆人的关系……或者,公主和骑士的关系?
image.png
到目前为止,我们虽然已经处理完了变分,但仍然没有把位矢 part4.拉格朗日方程 - 图63 的二阶导数用广义坐标表示出来。难道我们真的只能用多元函数求导法则硬扛了?呃呃,别这么想不开。我们先想想,有没有办法降低导数的阶数呢?我们可以试试把左边的式子当做一个整体,一起处理呀!还记得导数的乘法公式嘛?
part4.拉格朗日方程 - 图64
看起来好像没什么关系?我们移一下项看看。
part4.拉格朗日方程 - 图65
啊哈,这个式子可以让 part4.拉格朗日方程 - 图66 的导数阶数降低!但是右边的 part4.拉格朗日方程 - 图67 怎么办?难道就留着了?哎呀,先试试看吧,又不会少块肉。
part4.拉格朗日方程 - 图68 使用上面的公式得:
part4.拉格朗日方程 - 图69
看起来好丑啊……有没有办法让它好看一点呢?比如最后面那个对 part4.拉格朗日方程 - 图70 求导,能不能和偏导数交换次序呢?这个要证明一下才行。其实只要自己算算两个相等就好了啦。由于 part4.拉格朗日方程 - 图71 是关于所有广义坐标以及时间 part4.拉格朗日方程 - 图72 的函数,所以:
part4.拉格朗日方程 - 图73
注意看等号右边出现了广义坐标的导数(即“广义速度”),这说明 part4.拉格朗日方程 - 图74 在此时已经是所有广义坐标、广义速度以及时间的函数了,它的自变量个数增加了:
part4.拉格朗日方程 - 图75
part4.拉格朗日方程 - 图76
这是对多元函数求全导数之后会发生的情形,是正常现象啦。把上式对 part4.拉格朗日方程 - 图77 求偏导(注意这个偏导要把广义速度都看成常量哦),就有:
part4.拉格朗日方程 - 图78
然后我们再算一下 part4.拉格朗日方程 - 图79 ,就是和上式一样的结果。这说明 part4.拉格朗日方程 - 图80 的偏导数和全导数的确可以换序。这样我们就可以把上面的式子写得稍微好看一点了:
part4.拉格朗日方程 - 图81
这里把等号右边第一项的求导符号塞进了求和号里面,因为这是有限个 part4.拉格朗日方程 - 图82 相加,显然可以这么做。然而至此我们依然没有把所有的 part4.拉格朗日方程 - 图83 换成广义坐标。
image.png
诶诶,别哭啊,就这么放弃了吗?其实我们离成功已经不远了!我们现在要做的就是死死盯住这个式子不放,找到一切可能的突破口!
看出什么了吗?
注意等号右边后一项,它有点像一个复合函数求偏导的形式。。。
动能?动能!
质点系总动能的表达式是 part4.拉格朗日方程 - 图85 ,把它对一个广义坐标 part4.拉格朗日方程 - 图86 求偏导,就得到:
part4.拉格朗日方程 - 图87
是的,是的,是的!就是它!!!一模一样!第二项解决啦!
那第一项怎么办呢?我们是不是也可以试试看用动能表示呢?
既然 part4.拉格朗日方程 - 图88 是所有广义速度和广义坐标以及时间的函数,动能自然也应该是这样。而我们的方程又只出现其中一个广义坐标 part4.拉格朗日方程 - 图89 和它对应的广义速度 part4.拉格朗日方程 - 图90 ,广义坐标求偏导刚才已经试过了,那不如对广义速度 part4.拉格朗日方程 - 图91 求偏导试试看?
part4.拉格朗日方程 - 图92
和第一项括号里面不完全一样呢……但是这个偏导数上下都有一个点,如果这两个点上下可以消掉,那不就和第一项一样了?那么究竟可不可以消掉呢?只要动手算一下就可以了啦。把之前计算出来的 part4.拉格朗日方程 - 图93 代入 part4.拉格朗日方程 - 图94 得:
part4.拉格朗日方程 - 图95
既然 part4.拉格朗日方程 - 图96 只是所有 part4.拉格朗日方程 - 图97 以及t的函数,与广义速度 part4.拉格朗日方程 - 图98 无关,那么它的偏导数 part4.拉格朗日方程 - 图99 自然也与广义速度 part4.拉格朗日方程 - 图100 无关,所以上面式子中的 part4.拉格朗日方程 - 图101 在对 part4.拉格朗日方程 - 图102 求偏导时就是一个常数而已。 part4.拉格朗日方程 - 图103 也是如此。这样上式算出来就是:
part4.拉格朗日方程 - 图104
说明这个式子中,上下两个点果然可以消去!这样就有
part4.拉格朗日方程 - 图105
好了!把这个式子也代入我们处理到一半的达朗贝尔方程中,就变成了:
part4.拉格朗日方程 - 图106
是不是好看多了?除了左边的求和丑了一点。如果这个质点系不受外力,那这个式子将会更好看:
part4.拉格朗日方程 - 图107
不过质点系完全不受外力毕竟是极特殊的情况。那如果所有力都是保守力呢?我们知道保守力必有对应的势能。体系的总势能呢?就是各个保守力的势能之和嘛!我们把这个“总势能”记为 part4.拉格朗日方程 - 图108 。而且势能 part4.拉格朗日方程 - 图109 的大小通常只与空间的位置有关,也就是说它仅仅是广义坐标 part4.拉格朗日方程 - 图110 的函数,与广义速度 part4.拉格朗日方程 - 图111 和时间 part4.拉格朗日方程 - 图112 无关:
part4.拉格朗日方程 - 图113
所以
part4.拉格朗日方程 - 图114
而保守力 part4.拉格朗日方程 - 图115 是势能的负梯度。这样就有:
part4.拉格朗日方程 - 图116
这里我又特意加上了向量符号,就是要说明这个偏导数其实是对 part4.拉格朗日方程 - 图117 的各个分量求偏导,结果也是一个向量(这样才符合梯度的定义嘛)。那么广义力就可以表示为:
part4.拉格朗日方程 - 图118
哇,这也太好看了吧!广义力简直就是为保守力而生的嘛!这样在外力都是保守力时,我们推了一半的方程就变成了:
part4.拉格朗日方程 - 图119
进一步地,由于 part4.拉格朗日方程 - 图120 ,所以 part4.拉格朗日方程 - 图121 ,那么在等式左边减去 part4.拉格朗日方程 - 图122 这一项不会有什么问题。再把等号右边的项移到左边,就变成:
part4.拉格朗日方程 - 图123
我们定义 part4.拉格朗日方程 - 图124 ,称为体系的拉格朗日量(一听就很高大上是不是!)。这样上式可以写成
part4.拉格朗日方程 - 图125
这就是保守体系下的拉格朗日方程了。对非保守体系,拉格朗日方程可以写为
part4.拉格朗日方程 - 图126
只不过这里的 part4.拉格朗日方程 - 图127 都是非保守力,而保守力已经包含在拉格朗日量中了。
现实中我们用的较多的还是保守体系下的拉格朗日方程。它是几个方程呢?哈哈,虽然我只写了一个,但它其实对所有的广义坐标 part4.拉格朗日方程 - 图128 都成立,而广义坐标一共有 part4.拉格朗日方程 - 图129 个,所以一共有 part4.拉格朗日方程 - 图130 个拉格朗日方程。因此,约束越多,拉格朗日方程就越少,也就越好求解,这和牛顿力学是完全相反的。
等等,我们的任务完成了吗?我们不是要把所有含 part4.拉格朗日方程 - 图131 的项用广义坐标表示吗?最后用动能(和势能)表示了,这算什么?
哈哈,这其实提醒了我们,在我们使用拉格朗日方程时,必须先把动能和势能都用广义坐标 part4.拉格朗日方程 - 图132 和广义速度 part4.拉格朗日方程 - 图133 表示出来。这样,就相当于把所有量都用广义坐标表示了嘛!
再说一句。我们再观察一下保守体系下的拉格朗日方程:
part4.拉格朗日方程 - 图134
好像……可以仿照之前说的求导换序和上下点相消,把第一项改成
part4.拉格朗日方程 - 图135
然后代回去,整个式子左边也变成0了???哈哈,这个过程不对的,事实上上面的两个等号都不成立。记得我们之前推导上下点相消的时候,说过这样一句话:
既然 part4.拉格朗日方程 - 图136 只是所有 part4.拉格朗日方程 - 图137 以及 part4.拉格朗日方程 - 图138 的函数,与广义速度 part4.拉格朗日方程 - 图139 无关,那么它的偏导数 part4.拉格朗日方程 - 图140 自然也与广义速度 part4.拉格朗日方程 - 图141 无关,所以上面式子中的 part4.拉格朗日方程 - 图142 在对 part4.拉格朗日方程 - 图143 求偏导时就是一个常数而已。
但拉格朗日量可不一样哦!它既是广义坐标的函数,又是广义速度的函数,所以 part4.拉格朗日方程 - 图144 对广义速度求偏导时并不是常数,第二个等号并不成立。第一个等号不成立的原因也类似,就是因为拉格朗日量同时是广义坐标和广义速度的函数。不过呢,上面这个推导虽然不成立,但可以作为一种记忆拉格朗日方程的方法,哈哈。
另外,在保守体系下, part4.拉格朗日方程 - 图145 倒还真是正确的,不过当然不是上面这个推导过程,而是直接把保守体系下的拉格朗日方程 part4.拉格朗日方程 - 图146 移项得到。这个关系式很重要,在后面推导对称与守恒律的时候会用到,在推导哈密顿量时也会用到。
那么本章的内容就是这些啦!下期再见啦!
image.png