步骤1:定义双摆质量的位移、速度和加速度gydF4y2Ba
下图是双摆的模型。双摆由两个摆杆和两个刚性杆组成。gydF4y2Ba
通过定义状态变量描述双摆的运动:gydF4y2Ba
通过定义变量来描述双摆的性质:gydF4y2Ba
第一杆的长度gydF4y2Ba
第二杆的长度gydF4y2Ba
第一个鲍伯的质量gydF4y2Ba
第二个鲍伯的质量gydF4y2Ba
引力常数gydF4y2Ba
为简单起见,忽略两个刚性杆的质量。使用指定所有变量gydF4y2Ba信谊gydF4y2Ba
.gydF4y2Ba
定义双摆在笛卡尔坐标下的位移。gydF4y2Ba
通过对位移对时间求导来求速度gydF4y2BadiffgydF4y2Ba
函数。gydF4y2Ba
通过求速度对时间的微分来求加速度。gydF4y2Ba
第二步:定义运动方程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
接下来,创建第一个摆锤的定格动画对象gydF4y2BafanimatorgydF4y2Ba
函数。默认情况下,gydF4y2BafanimatorgydF4y2Ba
的范围内,每单位时间生成10帧的动画对象gydF4y2BatgydF4y2Ba
从0到10。方法绘制坐标gydF4y2Ba情节gydF4y2Ba
函数。设置gydF4y2BaxgydF4y2Ba设在和gydF4y2BaygydF4y2Ba-轴的长度相等。gydF4y2Ba
接下来,添加第一个刚性杆、第二个摆锤和第二个刚性杆的动画对象。gydF4y2Ba
方法添加一段文本来计算所经过的时间gydF4y2Ba文本gydF4y2Ba
函数。使用gydF4y2Banum2strgydF4y2Ba
将时间参数转换为字符串。gydF4y2Ba
使用命令gydF4y2Ba那里gydF4y2Ba
播放双摆的动画。gydF4y2Ba