胡宗元
(首都經(jīng)濟貿(mào)易大學,北京 100070)
隨著信息時代的到來,運用計算機進行設計和探究已經(jīng)成為現(xiàn)在大學生的一種基本能力。然而,中國的計算機現(xiàn)狀是應用不夠,其主要原因就是缺乏人才和軟件。這種形勢值很是得我們警覺[1]。為了培養(yǎng)學生的計算機應用能力,在教學中開展模擬實驗是一種非常有效的方法。它能夠讓學生在掌握知識的同時,發(fā)展計算機應用能力。
Mathematica軟件是Wolfram Research公司開發(fā)的一款數(shù)學計算軟件,主要用于科學研究和工程技術中的計算。它不僅可以進行程序運行,還可以交互式運行,一句簡單的Mathematica命令能完成其它編程軟件可能要用幾十句命令才能完成的任務;它除了能進行任意精度的數(shù)值計算,還可以進行復雜的符號演算;Mathematica還提供了多種方式作圖、發(fā)聲和動畫命令,使人們直觀地把握對象的特性[2-5]?;谝陨咸攸c,我們選擇Mathematica作為開發(fā)仿真實驗的工具。
下面,以大學物理實驗中的彈簧振子阻尼振動實驗為例,具體展示如何運用Mathematica設計模擬實驗。
振動是振子圍繞平衡位置的往復運動,設振子的質(zhì)量為m,勁度系數(shù)為mw2(固有頻率為w),阻尼系數(shù)為2mi,取平衡位置為原點建立坐標系,則由牛頓第二定律[4]得到運動微分方程
解出通解為
如果振子的初始位置和速度分別為a,v0,即
代入通解后得到
于是運動方程成為
彈簧振子位置和速度的變化范圍分別為
往復運動的周期為
對物理問題進行分析和計算提供了計算模擬的基礎,但是要想獲得較好的演示效果,還需要在表現(xiàn)形式上下功夫。
該物理問題并未確定振子的形狀和大小,為方便起見,我們可以假設該彈簧振子為小球。從演示的效果來看,小球半徑過小則不易看清;過大則難以看到運動全過程。因此,最佳選擇是規(guī)定一個半徑值,如占整個畫面尺度的5%。這樣,兩個方面都可以照顧到。
為得到理想的模擬效果,必須選擇合適的演示范圍。演示范圍過小,振子在運動過程中會跑出畫面;演示范圍過大,就看不到振子的全部運動軌跡。由(8)式,振子到原點的最大距離為
演示時間也是保證演示效果的另一個重要因素,演示時間過短,無法展示運動的主要特點;演示時間過長,則浪費時間也沒有必要。往復運動周期由(9)式給出,在周期有限的情況下,雖然運動有衰減,但通過前幾個周期就足以看出運動規(guī)律;在沒有周期性的過阻尼的情況下,我們只要一個固有周期就能看出運動規(guī)律。因此我們?nèi)⊙菔緯r間為2到3個固有周期,即
計算模擬的一大特點是可以用多種方式展示運動規(guī)律。除了動畫方式外,我們還可以展示運動的頻閃圖、速度時間圖、位置時間圖和速度位置圖等。為了避免前后圖像相互覆蓋,頻閃的時間間隔dt不能太小,總的時間也不能過長。
基于上面的設計,寫出相應的Mathematica模塊:
下面,對程序中的各個參數(shù)進行一下說明:
輸入?yún)?shù):初始位移x0;初速度v0;固有頻率w;阻尼參數(shù)i;模式參數(shù)mm
輸出模式:mm=0,動畫;mm=1,頻閃圖;mm=2,v-x 圖;mm=3,x-t圖;mm=4,v-t圖
內(nèi)部變量:阻尼頻率w1;最大位移xmax;固有周期 t0,閃光間隔 dt=0.2
運動方程:x[t]
在仿真時調(diào)用模塊dampingvibration,輸入振子的初始位移x0、初速度v0、固有頻率w、阻尼參數(shù)i以及模式選擇等參數(shù)后,便可運行?,F(xiàn)舉例如下:
設振子的初始位移x0=2、初速度v0=0、固有頻率w=2、阻尼參數(shù)i=1。
如果要得到動畫, 輸入命令為:dampingvibration[2,0,2,1,0],輸出結果即是振子作阻尼振動的模擬動畫;由于在文章中無法顯示動畫效果,讀者可以自行測試。
如果要得到頻閃圖,輸入命令為:damping vibration[2,0,2,1,1],輸出結果如圖1 所示。
圖1 頻閃圖
如果要得到 v-x圖,輸入命令為:dampingvibration[2,0,2,1,2],輸出結果如圖 2所示。
圖2 速度位置圖
如果要得到 x-t圖,輸入命令為:dampingvibration[2,0,2,1,3],輸出結果如圖 3所示。
如果要得到 v-t圖,輸入命令為:dampingvibration[2,0,2,1,4],輸出結果如圖 4所示。
圖3 位置時間圖
圖4 速度時間圖
上面基于Mathematica的模擬實驗程序的主要優(yōu)點:
(1)輸入?yún)?shù)任意可調(diào),可以按需進行各種模擬實驗;
(2)既能夠輸出運動實況,又能夠輸出閃頻照片及其它相關曲線,展示內(nèi)容豐富;
(3)源程序比較簡單,且具有開放性,略加修改就可以演示其它相近的物理現(xiàn)象。
基于Mathematica,以大學物理中的彈簧振子阻尼振動試驗為例設計了一個結構簡單、功能強大的模擬實驗程序。輸入任意條件,該程序都可以輸出動畫、頻閃圖和軌跡曲線等模擬實驗結果。直觀、生動形象的展現(xiàn)實驗現(xiàn)象和內(nèi)容,使學生容易把握住對象特性,從機理上理解實驗內(nèi)容,更好的掌握知識內(nèi)容。
此外,該模擬實驗程序具有很好的開放性,在此基礎上加以修改就可以擴展功能,還可以編寫出其它實驗內(nèi)容的模擬實驗程序,進一步提高學生的計算機應用能力。
[1] 彭芳麟,梁穎,忻蓓.計算軟件在計算物理課程中的地位和作用[J].大學物理,2013,8:7.
[2] 倪致祥.科研的有力工具-Mathematica簡介[J].阜陽師范學院學報,2005(2):7.
[3] 洪維恩.數(shù)學運算大師Mathematica4[M].北京:人民郵電出版社,2002:1-16.
[4] 周衍柏.理論力學教程[M].2版.北京:高等教育出版社,1986:24-41.
[5] 謝文海,古莉,滕艷萍.阻尼振動的Mathmatica模擬[J].大學物理實驗,2014(5):72-75.