基于MATLABSimulink的动力学计算机辅助分析实例
基于 MATLAB/Simulink 的动力学
计算机辅助分析实例
前面两节主要讨论了单个刚体和两个相互约束刚体的动力学分析通用子模型,利用这些
子模型以及第 2 章介绍的加速度分析通用子模型,可以非常方便地构造许多工程问题的
Simulink 分析模型,进行动力学分析,求解有关的力和(角)加速度,在此基础上对(角)
加速度积分可以求得(角)速度,进一步积分可以求得(角)位移,这就是本章动力学过程
分析的基本思路。同样,对(角)加速度积分需要给定初始(角)速度,对(角)速度积分
需要给定初始位置,也就是说,需要设定 MATLAB/Simulink 积分模块的初值,因此,在进
行动力学过程分析之前常常必须进行初始位置和初始(角)速度分析。
3-3-1 定轴转动刚体的动力学过程分析
[例题 3-1] 在图 3-1 所示的系统中,假设匀质杆 OA 的质量 m=29.24kg,长 度 L=2.44m,
C 为 OA 的中点弹簧 BC 的刚度系数 k=2627.48N/m,且当杆 OA 处于铅垂位置时弹簧无变形,
OB=OC。试利用定轴转动刚体的动力学分析通用子模型在 MATLAB/Simulink 中建立分析模
型,研究杆 OA 在铅垂位置应具有多大的初始角速度ω0 才能使其恰好转到水平位置。
解:本题中杆 OA 作定轴转动,在质心 C 除受到重力的作用外,还受到弹簧的弹性力 Fk
的作用,且
? θ πθ
FkL=?(sin sin )sin
? kx 242
? (3-33)
θ πθ
?FkL=?(sin ? sin )cos
?? ky 242
其中θ 为杆 OA 与 x 轴正向的夹角。因此可以利用定轴转动刚体的动力学分析通用子模型求
出杆 OA 的角加速度θ 及 O 处的约束反力,再利用 MATLAB/Simulink 提供的积分模块对杆
OA 的角加速度θ 积分可得角速度θ ,再积分可得杆 OA 的转角θ 。
在 MATLAB/Simulink 中建立的分析模型如图 3-12 所示。与第 2 章类似,将模块 dynaxis
的输入中的未知输入 ddtheta、Fox、FOy 设置为 Inf(Inf 在 MATLAB 中表示无穷大),这些
未知输入同时也就是该模块的输出。模块 Fcn1 和 Fcn2 为表达式模块,其中的参数 expression
分别为 2627.48*2.44*(sin(u(1)/2)-sin(pi/4))*sin(u(1)/2)和-29.24*9.8-2627.48*2.44*(sin(u(1)/2)
-sin(pi/4))*cos(u(1)/2),代表质心 C 受到的水平力和铅垂力。模块 To Workspace 用于将计算
结果存入工作空间以便在 MATLAB 中绘制相应的曲线,模块 To Workspace 的参数 variable
name 和 save format 分别设置为 result 和 Array,其它参数不变。积分模块 Integrator1 用于将
角加速度θ 积分为角速度θ ,积分模块 Integrator2 用于将角速度θ 积分为角度θ 。模块 RtoD
用于将弧度转换为度。
1
图 3-12 例题 3-1 的 Simulink 分析模型
(a) ω0