郝振莉,時(shí)金蒙,呂良軍
(1. 黃河水利職業(yè)技術(shù)學(xué)院,河南 開(kāi)封 475004;2. 數(shù)學(xué)建模教學(xué)與應(yīng)用研究中心,河南 開(kāi)封 475004)
在傳統(tǒng)的大學(xué)物理實(shí)驗(yàn)課程教學(xué)中, 一般要求學(xué)生通過(guò)實(shí)驗(yàn)獲得實(shí)驗(yàn)數(shù)據(jù), 并對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行計(jì)算處理,從而實(shí)現(xiàn)實(shí)驗(yàn)?zāi)康摹?同時(shí),也可以通過(guò)計(jì)算結(jié)果判斷實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性。由于計(jì)算煩瑣復(fù)雜,人工計(jì)算不僅花費(fèi)大量的時(shí)間,還容易出錯(cuò)。計(jì)算機(jī)的普及和相應(yīng)軟件的開(kāi)發(fā)開(kāi)啟了信息技術(shù)與教育教學(xué)深度融合的新篇章。 教育部《2018 年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》 中提到:“促進(jìn)信息技術(shù)與教育教學(xué)融合發(fā)展仍是當(dāng)今教育信息化工作的重點(diǎn),要培養(yǎng)提升教師和學(xué)生的信息素養(yǎng)”[1]。 筆者以“單擺測(cè)重力加速度實(shí)驗(yàn)”為案例,利用Matlab GUI 平臺(tái),設(shè)計(jì)開(kāi)發(fā)單擺實(shí)驗(yàn)數(shù)據(jù)可視化平臺(tái), 將抽象的理論知識(shí)動(dòng)態(tài)化、可視化,使學(xué)生進(jìn)一步理解、掌握課程內(nèi)容,從而學(xué)生激發(fā)學(xué)習(xí)大學(xué)物理實(shí)驗(yàn)課程的興趣,使之樂(lè)于學(xué)習(xí)鉆研。
在物理實(shí)驗(yàn)中, 測(cè)量重力加速度的常用方法有復(fù)擺法、單擺法、多普勒效應(yīng)等。其中,單擺法操作最簡(jiǎn)單,且精度較高,應(yīng)用較為廣泛。
如圖1 所示,1 根細(xì)線(長(zhǎng)度變化、質(zhì)量在精度要求不高時(shí)可忽略不計(jì))的一端固定在A 點(diǎn),另一端懸掛一體積很小的質(zhì)量為m 的小球,當(dāng)細(xì)線靜止地處在豎直位置時(shí),小球在位置O,此時(shí),作用在小球上的合力為零,位置O 即為平衡位置。 若把小球從平衡位置略微移開(kāi)后放手, 重物就在平衡位置附近往復(fù)地運(yùn)動(dòng),這一振動(dòng)系統(tǒng)叫做單擺[2]。
圖1 單擺受力分析Fig.1 Force analysis of single pendulum
設(shè)在某一時(shí)刻, 單擺擺線偏離鉛垂線的角位移為θ,擺錘的運(yùn)動(dòng)方程為式(1)。
根據(jù)簡(jiǎn)諧振動(dòng)的特征, 簡(jiǎn)諧運(yùn)動(dòng)的方程為式(3),振動(dòng)周期用式(4)計(jì)算。
由式(4)可以看出,在小角振動(dòng)的情況下,單擺的周期與角振幅無(wú)關(guān),這稱(chēng)為單擺的等時(shí)性。
由式(13)可知,實(shí)驗(yàn)中只需測(cè)量出擺長(zhǎng)和周期,就可計(jì)算出當(dāng)?shù)氐闹亓铀俣萭0。 實(shí)驗(yàn)裝置如圖2所示。
圖2 單擺測(cè)重力加速度的實(shí)驗(yàn)裝置Fig.2 Experiment device of gravity acceleration of single pendulum
由式(13)可知,小角度平面單擺的擺長(zhǎng)L 與振動(dòng)周期T 的平方呈線性關(guān)系[3]。實(shí)驗(yàn)時(shí),用米尺測(cè)量擺長(zhǎng)L, 用秒表測(cè)擺動(dòng)30 個(gè)周期用時(shí)t (分別測(cè)3次),計(jì)算擺動(dòng)周期T。首先對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行預(yù)處理,詳見(jiàn)表1。 根據(jù)表1 中的數(shù)據(jù)畫(huà)出擺長(zhǎng)與周期平方的散點(diǎn)圖,如圖3 所示。觀察L 和T2的相關(guān)關(guān)系,發(fā)現(xiàn)各點(diǎn)基本在一條直線上, 這就可以通過(guò)線性回歸來(lái)計(jì)算重力加速度。
一元線性擬合模型為:已知(xi,yi)(i=1,2,…,n)點(diǎn)大致在一條直線上, 則變量y 與x 存在y=β1x+β0的函數(shù)關(guān)系,其中β0和β1是未知待定常數(shù),稱(chēng)為回歸系數(shù)[4]。
擺長(zhǎng)L/m 擺動(dòng)30 周期用時(shí)t/s 振動(dòng)周期T/s T2 t1 t2 t3 平均0.802 53.859 53.835 53.841 53.845 1.794 833 3.221 427 0.893 56.823 56.829 56.817 56.823 1.894 100 3.587 615 0.945 58.437 58.425 58.428 58.430 1.947 667 3.793 405 0.960 59.088 59.076 59.085 59.083 1.969 433 3.878 668 1.010 60.204 60.195 60.198 60.199 2.006 633 4.026 577
根據(jù)擬合數(shù)據(jù)點(diǎn)(xi,yi)(i=1,2,…,n),確定一組擬合系數(shù)βk(k=0,1),使得如式(14)所示的函數(shù)達(dá)到最小值。
將實(shí)驗(yàn)記錄數(shù)據(jù)用Matlab 作線性擬合(如圖4所示), 可得函數(shù)表達(dá)式為L(zhǎng)=0.252 9T2-0.014 088。根據(jù)直線的斜率,計(jì)算出重力加速度g=9.984 1 m/s2。
MATLAB 提供了快捷的GUI 開(kāi)發(fā)平臺(tái),提供了一套創(chuàng)建圖形窗口的工具, 方便用戶(hù)編程和再次開(kāi)發(fā)[5]。在實(shí)驗(yàn)教學(xué)中,為了讓學(xué)生把注意力集中到對(duì)單擺測(cè)重力加速度的實(shí)驗(yàn)原理的理解上, 提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力, 就應(yīng)盡可能減少數(shù)據(jù)的計(jì)算過(guò)程,從而達(dá)到最佳教學(xué)效果。
根據(jù)實(shí)驗(yàn)?zāi)康暮蛯?shí)驗(yàn)測(cè)量數(shù)據(jù), 構(gòu)思界面布局框架[6]。 本研究建立3 個(gè)坐標(biāo)軸對(duì)象,分別用于顯示實(shí)驗(yàn)裝置、單擺動(dòng)畫(huà)演示和計(jì)算結(jié)果分析;4 個(gè)動(dòng)作按鈕,分別用來(lái)計(jì)算單擺周期、線性回歸、實(shí)驗(yàn)數(shù)據(jù)清零和程序結(jié)束;相應(yīng)控件的提示用13 個(gè)靜態(tài)文本標(biāo)簽;測(cè)量數(shù)據(jù)的輸入和計(jì)算結(jié)果的輸出用33 個(gè)可編輯文本框來(lái)實(shí)現(xiàn),設(shè)計(jì)布局如圖5 所示。
圖5 GUI 界面設(shè)計(jì)布局Fig.5 Layout of GUI interface design
在每個(gè)動(dòng)作按鈕回調(diào)函數(shù)中, 編寫(xiě)相應(yīng)的代碼程序,實(shí)現(xiàn)數(shù)據(jù)讀取、變量的賦值、數(shù)據(jù)計(jì)算、計(jì)算結(jié)果輸出、動(dòng)態(tài)繪圖等工作。 運(yùn)行后,得到如圖6 所示的GUI 初始界面和單擺的仿真動(dòng)畫(huà)。
圖6 GUI 界面運(yùn)行初始Fig.6 Beginning of GUI interface running
在相應(yīng)的文本框中輸入每次實(shí)驗(yàn)的擺長(zhǎng)、時(shí)間、周期次數(shù)、本地重力加速度等實(shí)驗(yàn)數(shù)據(jù)后,單擊“計(jì)算周期”按鈕,可計(jì)算出不同擺長(zhǎng)所對(duì)應(yīng)的周期,在此基礎(chǔ)上,點(diǎn)擊“計(jì)算重力加速度”動(dòng)作按鈕,可得到回歸方程為:L=0.249 11T2, 同時(shí)計(jì)算出重力加速度和誤差,并將其顯示在對(duì)應(yīng)的文本框中,具體的計(jì)算結(jié)果如表2 所示。在圖形窗口上,畫(huà)出回歸直線和殘差分析,如圖7 所示。
圖7 界面運(yùn)行計(jì)算結(jié)果Fig.7 Calculation results of interface running
用戶(hù)運(yùn)行GUI 后,通過(guò)觀察回歸直線與殘差分析,可以判斷實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性[7]。 如圖8 所示,當(dāng)實(shí)驗(yàn)數(shù)據(jù)出現(xiàn)異常時(shí), 系統(tǒng)從兩處通過(guò)圖示給出了警示,從而可以方便快捷地找出異常數(shù)據(jù)。
測(cè)量次數(shù) 擺長(zhǎng)L/m 周期T/s 直線斜率 實(shí)驗(yàn)重力加速度/(m/s2) 本地重力加速度g0/(m/s2) 相對(duì)誤差/%1 0.802 1.794 8 2 0.893 1.894 1 3 0.945 1.947 7 4 0.960 1.969 4 5 1.010 2.006 6 0.249 11 9.834 5 9.796 6 0.386 87
圖8 出現(xiàn)異常數(shù)據(jù)Fig.8 Abnormal data
在每次對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理時(shí), 只需把實(shí)驗(yàn)數(shù)據(jù)輸入到相應(yīng)的文本框中, 單擊相應(yīng)按鈕就可實(shí)現(xiàn)求解,并進(jìn)行數(shù)據(jù)可視化,實(shí)現(xiàn)了人機(jī)交互的功能。
基于Matlab 軟件設(shè)計(jì)的單擺測(cè)重力加速度實(shí)驗(yàn)數(shù)據(jù)處理的可視化系統(tǒng),通過(guò)GUI 界面設(shè)計(jì)和自行設(shè)置參數(shù),實(shí)現(xiàn)了數(shù)據(jù)的可視化,減少了重復(fù)計(jì)算過(guò)程,節(jié)省了大量的時(shí)間,并且能及時(shí)檢驗(yàn)實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性,提高了實(shí)驗(yàn)精度,實(shí)驗(yàn)效率也大大提高。該系統(tǒng)界面友好,設(shè)計(jì)簡(jiǎn)潔明了,并可再次開(kāi)發(fā),便于推廣。 在教學(xué)中可以鼓勵(lì)學(xué)生自行設(shè)計(jì)與開(kāi)發(fā)GUI,激發(fā)學(xué)生探索、創(chuàng)新的勇氣和熱情。