MATLAB在“理论力学”教学中的应用

2022-03-06 08:53:09 | 浏览次数:

摘要:基于MATLAB的强大的计算功能和绘图功能,把其引入到理论力学的教学中,并绍了MATLAB在理论力学中的应用实例。

关键词:MATLAB软件;理论力学;运动轨迹

作者简介:王清(1982-),女,山东菏泽人,菏泽学院机电工程系,讲师;龚长青(1979-),女,山东济宁人,菏泽学院机电工程系,讲师。(山东 菏泽 274015)

中图分类号:G642.0     文献标识码:A     文章编号:1007-0079(2011)09-0200-02

MATLAB是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件。它是一种以矩阵为基础的交互式程序语言,可提供丰富可靠的矩阵运算、数据处理、图形绘制、图像处理等功能,是专门针对科学和工程中的计算和绘图需求而开发的一种科学计算软件。目前,已经应用于数值分析、信号与图像处理、控制系统设计、通信仿真、工程优化、数学建模等领域,而且在工科课程的课堂教学中也得到了广泛应用,如在“高等数学”、“线性代数”、“自动控制理论”等课程教学中的应用已经有了大量成功的案例,但在“理论力学”教学中的应用还刚刚起步,为此,对MATLAB在“理论力学”教学中的应用进行了一些探索。

“理论力学”教学内容主要分为静力学、运动学和动力学三部分。其中,动学主要研究物体运动时其位置变化的规律、轨迹、速度、加速度以及它们之间的关系,不涉及物体的受力。一般分为点的运动学、刚体的简单运动、点的合成运动和刚体的平面运动四部分。下面以点的运动学和点的合成运动为例来说明MATLAB在“理论力学”教学中的应用。

一、在点的运动学中的应用实例

点的运动学是研究一般物体运动的基础,主要研究点相对于某一个参考体的几何位置随时间变化的规律,包括点的运动方程、运动轨迹、速度和加速度等。我们采用哈尔滨工业大学理论力学教研室编写的《理论力学》一书作为授课教材,在授课过程中发现学生对于课本第五章的例6不能很好的理解,以至于在刚体的平面运动求解轮系问题的时候不知道如何下手,为此,我们通过MATLAB的绘图功能,把生硬的公式变成二维图形,讲清点的运动方程以及点的速度和加速度的关系。

例:半径为r的轮子沿直线轨道无滚动的滑动,设轮子转角φ=ωt,ω为常量,如图1所示。求轮缘上一点M的运动方程,并求该点的速度和加速度。

解:取点M与直线轨道的接触点O为原点,建立直角坐标系。则点M的运动方程为:

式(1)

对(1)式求一阶导得

式(2)

故点M的速度大小为:

对式(1)求二阶导得:

式(3)

故点M的加速度为:

MATLAB 程序如下:

t=0:0.00005*pi:4*pi;w=1;r=0.5

x=r*w*t-r*sin(w*t);

y=r-r*cos(w*t);%求运动方程

x1=diff(x); %求X方向的速度

y1=diff(y);%求Y方向的速度

x2=diff(x1); %求X方向的加速度

y2=diff(y1); %求Y方向的加速度

c=sqrt(x1.^2+y1.^2);%求速度的大小

d=sqrt(x2.^2+y2.^2);%求全加速度

figure(1);

subplot(4,1,1),plot(x,y);ylabel("m");xlabel("m");

title('运动轨迹','fontsize',16);

subplot(4,1,2),plot(w*t(1:(length(t)-1)),c);ylabel('rad/s');xlabel('时间(t)');title('速度图','fontsize',16);

subplot(4,1,3),plot(w*t(1:(length(t)-2)),x2);ylabel('rad/s2');xlabel('时间(t)');title('x方向加速度图','fontsize',16);

subplot(4,1,4),plot(w*t(1:(length(t)-2)),y2);ylabel('rad/s2');xlabel('时间(t)');title('y方向加速度图','fontsize',16)。

把点M的运动轨迹、速度图、x方向加速度图和y方向加速度图通过subplot命令画在同一张图上,如图2所示。我们很容易看出,当点M与地面接触时,点M的速度为零,这表明沿地面做纯滚动的轮子与地面接触点的速度为零,但点M在X方向的加速度为零,但在Y方向的加速度不为零,即全加速度不为零。通过该图也可以很直观地看出圆轮做纯滚动时,圆轮与地面接触点的速度及加速度的大小,从而帮助学生理解圆轮在固定圆弧轨道上的纯滚动,在活动轨道上的纯滚动时圆轮与轨道接触点的速度和加速度求解问题。为求解刚体平面运动的轮系问题打下良好的基础。

二、在点的合成运动中的应用实例

在点的合成运动中,动点和动系的选择一般遵循的原则是:(1)动点和动系分别属于两个物体,不能选在同一个物体上,动点相对于动系有相对运动轨迹。同时,动系相对于定系也有相对运动,以保证相对运动的存在。(2)动点、动系的相对运动轨迹应简单,易于确定,否则会使相对加速度分析产生困难。在实际的授课过程中,学生在这一章接受起来比较困难,特别是对于两物体互相接触,但接触点是不断变化的这种情形,大部分学生不知道如何下手分析。利用MATLAB的绘图功能,我们可以把这类机构的运动轨迹做成曲线,运动过程做成动画,然后清晰地给出相对运动轨迹,便于学生掌握动点、动系的选择。

例:平底顶杆凸轮机构,如图3所示,顶杆AB可沿导轨槽上下移动,偏心圆盘绕轴O转动,轴O位于顶杆轴线上。工作时顶杆的平底始终接触凸轮表面。该凸轮半径r为600mm,偏心距e=OC=300mm,凸轮绕轴转动的角速度为ω,与水平线成夹角为0°。求当θ=0°时,顶杆的速度。

解:1.选择凸轮上凸轮与顶杆的接触点M为动点,动系建立在顶杆上。

(1)求解相对运动方程。

根据直角坐标法得动点在任一时刻的绝对运动方程为:

式(1)

动坐标系O"X"Y"相对于定系OXY作平动,则动系O"X"Y"相对定系OXY的运动方程为:

式(2)

由动系系O"X"Y"与定系系OXY之间的坐标变换关系

式(3)

由式(1)、式(2)、式(3)式联立求解得动点C的相对运动方程为:

(2)相对运动轨迹的MATLAB程序。

MATLAB程序如下:

tt=pi/180;alf=[0:tt:2*pi];e=300,r=600;

x=e*cos(alf)-r*sin(alf);

y=e*cos(alf)+r*sin(alf);%绝对运动方程

x_01=0;y_01=r+e*sin(alf);%牵连运动方程

x1=x-x_01;y1=y-y_01;%计算相对轨迹坐标

plot(x1,y1)%画相对运动轨迹图,如图4所示。

2.选择凸轮圆心C为动点,动系为图3所示O"X"Y"。

(1)求解相对运动方程。

根据直角坐标法得动点在任一时刻的绝对运动方程为:

式(4)

动坐标系O"X"Y"相对于定系OXY作平动,则动系O"X"Y"相对定系OXY的运动方程为:

式(5)

由动系O"X"Y"与定系OXY之间的坐标变换关系

式(6)

由式(4)、式(5)、式(6)联立求解得动点C的相对运动方程为:

(2)相对运动轨迹的MATLAB程序。

MATLAB程序程序如下:

tt=pi/1800;alf=[0:tt:2*pi];e=300,r=600;

x=e*cos(alf);

y=e*sin(alf);%绝对运动方程

x_01=0;y_01=r+e*sin(alf);%牵连运动方程

x1=x-x_01;y1=y-y_01;%计算相对轨迹坐标

plot(x1,y1)%画相对运动轨迹图,如图5所示。

通过图4可以清楚地看出,选择凸轮上凸轮与顶杆的接触点为动点,动点的运动轨迹是特殊曲线,相对运动轨迹不清晰。但通过图5可以看出,如果选择圆心C为动点则动点的相对运动轨迹是一条平行于顶杆平底的直线,相对运动轨迹清晰。根据动点和动系的选择原则,对于两物体相互接触,但其接触点是不断变化的情况不能选接触点为动点,对于有轮和杆组成的系统,一般选择圆心为动点。

对于以上两种情况,用MATLAB编写完相对运动轨迹程序后,可以通过patch(…)函数和set(…)来完成动画的制作。图6为选择凸轮上凸轮与顶杆的接触点为动点的动画仿真截图,图7为选择凸轮圆心C为动点的动画仿真截图。通过截图不但可以看清结构的运动过程,而且可以清楚地看清动点的相对运动轨迹,在教学中起到了良好的效果。

三、结论

MATLAB语言具有强大的计算和绘图功能,编写简单、调试方便。借助于计算机辅助手段,把MATLAB引入“理论力学”的教学中,使“理论力学”的教学更加生动、形象,提高学生学习的兴趣及学习效率,为“理论力学”的教学改革提供了方向。

参考文献:

[1]陈怀琛.MATLAB及其在理工课程中的应用指南[M].西安:西安电子科技大学出版社,2000.

[2]哈尔滨工业大学理论力学教研室.理论力学[M].北京:高等教育出版社,2009.

[3]彭芳麟,等.理论力学计算机模拟[M].北京:清华大学出版社,2002.

(责任编辑:李海静)

推荐访问: 力学 理论 教学中 Matlab