◆陈恒杰 刘春兰 邓起宏
MATLAB可视化在简谐运动教学中的应用*
◆陈恒杰 刘春兰 邓起宏
以简谐振动为例,介绍MATLAB动画和可视化功能在大学物理教学中的应用,再现振动随时间的变化情况,模拟出振动合成中振幅、相位、能量的叠加状态,将复杂的物理现象给学生以直观的认知,通过自行设置参数提高学生的参与度,增强课堂效果。
MATLAB;可视化;动画;简谐运动
10.3969/j.issn.1671-489X.2015.24.018
大学物理是高等学校理工科专业的基础,是公认的难学课程,部分原因是因传统的“板书”教学难以展现出准确的物理图像。伴随计算机技术发展,一些多媒体软件如PowerPoint、Flash已被广泛应用到各级各类教学,它们在教学方面起到非常好的效果。但这两款软件在图形可视化方面存在严重不足:PowerPoint只能处理文字、静态图片,对更深刻的动态物理规律展示则显得无能为力;Flash虽能处理动画,但这种动画是非科学的,只能作定性、简单的解释,而不能定量地反映物理本质,更不能依计算结果而可视化,且Flash电子课件制作麻烦。这两款辅助软件完成的课件也很难通过修改参数来描述新的物理现象,因此是定态的,这显然不符合变化的物理规律。
MATLAB是一套集符号、科学计算、可视化、编程于一体的多功能处理软件,精确、方便的运算和各种工具箱为其应用打开了大门,强大的图形处理功能为可视化教学提供了保证[1-2],弥补了PowerPoint、Flash的不足,保证学生直观、正确地理解物理现象。本文以简谐振动为例,利用MATLAB编程展示了动画、可视化功能在大学物理教学中的应用[3]。
一维振动的振动方程形如公式(1)[4]:
根据加速度—速度—位移关系,对(1)式求一阶导数和二阶导数得到速度、加速度公式(2)和(3):
简谐振动的周期(T)、频率(f)和角频率(ω)关系如公式(4)所示:
由物体振动动能Ek为mv2/2、振动势能Ep为kx2/2,总能量:
当两个不同的振动叠加时:
本文编写了四个MATLAB程序,其中程序1能动画展示公式(1)中质点随时间变化的振动规律。图1展示了用MATLAB实现的振动规律演示截图,执行程序1,会发现动态的振动图,这对说明质点的振动很有帮助。
程序2可实现任意情况下两振动的合成。通过参数修改,图2演示了完全相同的两个振动(同频率同振幅同初相位)y1,y2的叠加情况。从图看出,合振动的周期没有变化,其振幅由2变为4成为原来的两倍,这与实际物理情况相符。
图3演示了同频率同振幅异初相位的两振动叠加情况,可以看出,任意时刻合振动振幅为零,表明两振动的振幅等大反向,这点从图中很容易被看出。
图4演示了同频率同振幅不同初相位两振动的合成情况。
图1 振动—时间动画
程序2
图5在不同频率同振幅同初相位下实现了拍现象,值得注意的是,这里的两个频率分别为60、61,如果修改参数使得两个频率相差较大时(如f1=100,f2=10),是否还会出现拍现象呢?如果两个振动的振幅不相等(A1=10,A2=1)是否还能产生拍现象呢?如果两个频率相差虽小,但自身的频率又很大(f1=100 000,f2=100 002),是否也会产生拍现象?学生可自行修改参数并结合结果和物理原理加以思考。
图2 同频率同振幅同初相位
图3 同频率同振幅异初相位
图4 同频率同振幅不同初相位
图5 不同频率同振幅同初相位拍现象
最后,展示两个任意振动的叠加情况,结果如图6所示。
在实际简谐振动教学中,位移、速度、加速度的相位关系很容易被混淆,编写了程序3并通过MATLAB可视化将其形象地描述出并置于一图,在实际教学中结合物理原理和数学本质加以解释超前和滞后问题,使学生更加容易理解。图7则展示了该程序执行结果。
程序4和图8则展示了简谐振动过程动能、势能和总能量随时间变化规律,由图可看出,对同一质点振动,其动能和势能是互补的,但其总能是守恒不变的,很好地展示了公式(5)和(6)表达的物理内容。
图6 不同频率不同振幅不同初相的任意叠加
程序3
图7 位移、速度、加速度相位超前滞后比较图
程序4
图8 简谐振动动能、势能和总能量关系图
本文借助MATLAB编程和可视化功能实现质点随时间动态变化,将抽象的物理问题直观形象地展示出来。通过程序参数修改,演示了简谐运动过程中不同类型振动的合成情况,很好地解决了传统教学方法中的“静态”特性,通过参数变化提高了学生的参与度,即时、直观的结果展示也让学生对物理原理有进一步的感知,弥补了板书、PPT教学中的不足。同时,通过MATLAB编程和可视化完美地解决教学中的实际问题,激发学生学习的积极性,刺激他们对编程的兴趣,也提高了教师的教研能力。■
[1]王淑青,雷桂斌,陈春雷.MATLAB在“大学物理”可视化教学中的应用探索[J].中国电力教育,2013:66-68,270.
[2]彭芳麟,梁颖,刘振兴.在计算物理基础课程中用MATLAB培养学生的编程能力[J].大学物理,2013(9):9-17,32.
[3]孙祥,许流美,吴清.MATLAB7.0基础教程[M].北京:清华大学出版社,2005.
[4]唐海燕,王丽梅,宋士闲.工科物理教程(下册)[M].北京:国防工业出版社,2011:86-109.
G434;TP391.9
B
1671-489X(2015)24-0018-03
*项目来源:重庆科技学院2013年实验教学及技术研究项目(20130227);重庆科技学院2014本科教学教改研究项目(201443)。
作者:陈恒杰,重庆科技学院数理学院讲师,从事物理教学和研究工作(401331)。