步骤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
第三步:求力并简化系统方程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
第五步:制作双摆摆动的动画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