步骤1:定义双摆质量的位移、速度和加速度gydF4y2Ba
下图是双摆的模型。双摆由两个摆锤和两个刚性杆组成。gydF4y2Ba
通过定义状态变量来描述双摆的运动:gydF4y2Ba
通过定义变量来描述双摆的性质:gydF4y2Ba
第一根杆子的长度gydF4y2Ba
第二根棒子的长度gydF4y2Ba
第一个Bob的质量gydF4y2Ba
第二个Bob的质量gydF4y2Ba
引力常数gydF4y2Ba
为简单起见,忽略两根刚性杆的质量。通过使用指定所有变量gydF4y2Ba信谊gydF4y2Ba
.gydF4y2Ba
在笛卡尔坐标下定义双摆的位移。gydF4y2Ba
通过微分位移对时间的微分求速度用gydF4y2BadiffgydF4y2Ba
函数。gydF4y2Ba
通过求速度对时间的微分来求加速度。gydF4y2Ba
步骤2:定义运动方程gydF4y2Ba
根据牛顿定律定义运动方程。gydF4y2Ba
首先,指定第一杆的张力为gydF4y2Ba
,和第二杆的张力gydF4y2Ba
.gydF4y2Ba
接下来,构造作用在两个质量上的力的自由体图。gydF4y2Ba
计算作用在上面的力gydF4y2Ba
.通过平衡水平力分量和垂直力分量,定义第一拍子的运动方程。将这两个方程指定为符号方程gydF4y2Baeqx_1gydF4y2Ba
而且gydF4y2Baeqy_1gydF4y2Ba
.gydF4y2Ba
eqx_1 =gydF4y2Ba
eqy_1 =gydF4y2Ba
计算作用在上面的力gydF4y2Ba
.通过平衡水平力分量和垂直力分量,定义第二拍子的运动方程。将这两个方程指定为符号方程gydF4y2Baeqx_2gydF4y2Ba
而且gydF4y2Baeqy_2gydF4y2Ba
.gydF4y2Ba
eqx_2 =gydF4y2Ba
eqy_2 =gydF4y2Ba
步骤3:评估力和减少系统方程gydF4y2Ba
四个运动方程描述了双摆的运动学。计算作用在杆上的力,并将四个方程简化为两个方程。gydF4y2Ba
运动方程有四个未知数:gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
.求两个未知数的值gydF4y2Ba
而且gydF4y2Ba
从gydF4y2Baeqx_1gydF4y2Ba
而且gydF4y2Baeqy_1gydF4y2Ba
.使用gydF4y2Ba解决gydF4y2Ba
函数查找gydF4y2Ba
而且gydF4y2Ba
.gydF4y2Ba
将解替换为金宝搏官方网站gydF4y2Ba
而且gydF4y2Ba
成gydF4y2Baeqx_2gydF4y2Ba
而且gydF4y2Baeqy_2gydF4y2Ba
.gydF4y2Ba
这两个简化方程完全描述了摆的运动。gydF4y2Ba
第四步:解方程组gydF4y2Ba
求解系统方程来描述摆的运动。gydF4y2Ba
首先,为大众定义价值gydF4y2Ba
,杆的长度gydF4y2Ba
,重力在gydF4y2Ba
(国际标准单位)。将这些值代入两个简化方程。gydF4y2Ba
eqn_1 =gydF4y2Ba
eqn_2 =gydF4y2Ba
这两个方程是非线性二阶微分方程。为了解这些方程,将它们转化为一阶微分方程gydF4y2BaodeToVectorFieldgydF4y2Ba
函数。gydF4y2Ba
向量的元素gydF4y2BaVgydF4y2Ba
表示等于元素的时间导数的一阶微分方程gydF4y2Ba年代gydF4y2Ba
.的要素gydF4y2Ba年代gydF4y2Ba
是状态变量吗gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
,gydF4y2Ba
.状态变量描述了双摆的角位移和速度。gydF4y2Ba
S =gydF4y2Ba
接下来,将一阶微分方程转换为带有手柄的MATLAB函数gydF4y2Ba米gydF4y2Ba
.gydF4y2Ba
定义状态变量的初始条件为gydF4y2Ba[pi/4 0 pi/6 0]gydF4y2Ba
.使用gydF4y2Ba数值gydF4y2Ba
函数来解状态变量。解是区间金宝搏官方网站内时间的函数gydF4y2Ba10 [0]gydF4y2Ba
.gydF4y2Ba
把状态变量的解画出金宝搏官方网站来。gydF4y2Ba
步骤5:创建摆动双摆的动画gydF4y2Ba
创建摆动双摆的动画。gydF4y2Ba
首先,创建四个使用gydF4y2Ba德瓦尔gydF4y2Ba
从解求出两个摆的坐标金宝搏官方网站gydF4y2Ba溶胶gydF4y2Ba
.gydF4y2Ba
方法创建第一个钟摆bob的定格动画对象gydF4y2BafanimatorgydF4y2Ba
函数。默认情况下,gydF4y2BafanimatorgydF4y2Ba
的范围内,每单位时间生成10帧的动画对象gydF4y2BatgydF4y2Ba
从0到10。函数绘制坐标gydF4y2Ba情节gydF4y2Ba
函数。设置gydF4y2BaxgydF4y2Ba设在和gydF4y2BaygydF4y2Ba-axis的长度相等。gydF4y2Ba
接下来,添加第一个刚性杆、第二个摆锤和第二个刚性杆的动画对象。gydF4y2Ba
控件添加一段文本,以计算经过的时间gydF4y2Ba文本gydF4y2Ba
函数。使用gydF4y2Banum2strgydF4y2Ba
将时间参数转换为字符串。gydF4y2Ba
使用命令gydF4y2Ba那里gydF4y2Ba
播放双摆的动画。gydF4y2Ba