◆陳恒杰 劉春蘭 鄧起宏
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)。