Matlab求解理论力学问题系列(三)单摆和椭圆摆的运动及周期
2021-08-30高云峰
力学与实践 2021年4期
高云峰
(清华大学航天航空学院,北京100084)
一般来说,在理论力学的动力学教学中,绝大部分问题都只需要学生会受力分析、列写动力学方程,并不要求进一步求出具体的运动[1]。原因之一是绝大部分问题没有解析解,用传统数学方法不好解;原因之二是学时限制,没有更多时间教学生如何求解。
随着计算软件的发展,目前已经可以很轻松地求出动力学方程的解,包括运动和力随时间的变化关系,也可以很容易在屏幕上进行动画演示。
本篇先从动力学中最简单的单摆问题开始介绍:单摆的动力学方程如何求解?数值解的精度如何?大角度情况下周期如何变化?然后介绍椭圆摆的相关问题。
1 单摆的相关问题[2]
案例1:假设单摆中小球A质量为m,尺寸不计,绳子OA长度为l,不计质量(图1)。试比较不同初始角度对运动的影响,以及如何证明计算的结果可靠?

图1 单摆模型
单摆运动时,根据其受力图(图2),可以在切向方向列写系统的动力学方程,为


图2 单摆的受力图
虽然方程(1)在线性化时有解析解,但是大角度时比较复杂。但在Matlab中,可以直接调用ode45函数统一求解这类常微分方程,其格式是[3]

其中黑体是固定的格式,斜体是变量或自己命名的函数。其中options是积分的选项,可以控制积分的精度,′RelTol′表示积分中的相对误差,′AbsTol′是积分中的绝对误差。在Matlab数值积分计算中,通常number1和number2可以选为10−8∼10−10(精度太高会花费更多计算时间,也没有必要),如果省略则默认为10−3。ode45函数则是求解常微分方程的一种常用函数,其中[t,y]是积分的时间和结果;……
登录APP查看全文
