背景
传统的双摆系统通常由两个长度分别为l1 ,l2 的细杆和两个固定在细杆末端,质量为m1 ,m2 的小球组成。内摆和垂直线之间的夹角为θ1 。外摆与垂直线之间的夹角为θ2 。细杆的质量和球的形状对于不同的研究人员有所不同。本文研究理想状态,即系杆的质量、系统阻尼和阻力忽略不计,小球看做质点。双摆系统简图如图1所示。
图1 双摆结构简图
模型建立
此处模型建立利用拉格朗日力学原理,拉格朗日力学(Lagrangian mechanics)是分析力学中的一种,于1788年由约瑟夫·拉格朗日所创立。拉格朗日力学是对经典力学的一种的新的理论表述,着重于数学解析的方法,并运用最小作用量原理,是分析力学的重要组成部分。经典力学最初的表述形式由牛顿建立,它着重于分析位移,速度,加速度,力等矢量间的关系,又称为矢量力学。拉格朗日引入了广义坐标的概念,又运用达朗贝尔原理,求得与牛顿第二定律等价的拉格朗日方程。不仅如此,拉格朗日方程具有更普遍的意义,适用范围更广泛。还有,选取恰当的广义坐标,可以大大地简化拉格朗日方程的求解过程。
如图2所示,建立直角坐标系:
图2 建立直角坐标系
求解方法
最后得到的表达式很长,就不展示了。
上面的计算均在Matlab上完成,因为其计算很强大,下面就开始用JavaScript来实现计算。
采用四阶龙格-库塔算法进行迭代计算:
实现的关键代码如下:
var m1 = this.m1; //带this的是与输入绑定的变量
var m2 = this.m2;
var l1 = this.l1;
var l2 = this.l2;
var g = this.g;
var y1 = [];
var y2 &#