前言
可怜的双鸭山学子,至今没有正经的网课,只好在大量的闲暇时间学点东西。(就是稍微吐槽吐槽
正文
先丢个视频。可以看到自由晃荡的打摆子https://www.zhihu.com/video/1235702350184505344
借着做这一个简单的数值计算的视频,熟悉了一下python的科学计算库,以及matplotlib可视化的功能。好的,不说废话了,进入正题。
在做这个小模型前,去看了一下马文淦老师的《计算物理》,实话说,这本书从全局的角度介绍了计算物理的各个方法,并且.....读完之后不会敲代码....想到自己写各种积分,差分的就有点头大,于是我本着不重(tou)复(lan)造轮子的原则,去找了下Python的现成的库。这里的模拟主要还是调用了scipy.integrate的odeint,用来解微分方程组。
具体odeint的使用,知乎,CSDN以及不少的书籍都有介绍了,我这里就不赘述了。我觉得这本书当字典翻翻挺好的
先讲双摆的模拟,首先最重要的还是物理的分析。这里用分析力学的内容,得出拉格朗日量,随后得到拉氏方程。过程就不赘述了,这里的广义坐标是两根轻绳各自与铅直轴的夹角,记为
,为了方便计算(偷懒),假设这里两个重锤质量均为
,轻绳均为