申惠娟 鄧鋰強 徐祥福 方運良 祁玲敏 賴國霞
(廣東石油化工學(xué)院理學(xué)院 廣東 茂名 525000) (收稿日期:2017-03-08)
仿真技術(shù)在大學(xué)物理及實驗教學(xué)中的應(yīng)用與探索
申惠娟 鄧鋰強 徐祥福 方運良 祁玲敏 賴國霞
(廣東石油化工學(xué)院理學(xué)院 廣東 茂名 525000) (收稿日期:2017-03-08)
計算機輔助教學(xué)是課堂及實驗教學(xué)的一種重要補充方式.基于對大學(xué)物理實驗中光學(xué)實驗的仿真研究現(xiàn)狀,介紹了幾種常用仿真軟件的應(yīng)用進展,并比較了這幾種仿真軟件的優(yōu)劣,為進一步完善和改進實驗仿真技術(shù)及相關(guān)工作提供參考.
大學(xué)物理實驗 仿真 Matlab Maple LabVIEW
大學(xué)物理及大學(xué)物理實驗課是理工科專業(yè)的一門重要的基礎(chǔ)課,其中光學(xué)部分包括光的傳播、干涉和衍射等現(xiàn)象是重要組成部分,理解光學(xué)中的科學(xué)奧秘對當(dāng)代大學(xué)生認識世界具有重要引導(dǎo)作用.但是光學(xué)內(nèi)容較抽象,大學(xué)物理理論課中,著重講解原理及理論推導(dǎo)過程,對于光學(xué)現(xiàn)象大部分只能通過圖片描述的形式給學(xué)生展示;在物理實驗課中可以讓學(xué)生根據(jù)原理操作,并觀察光學(xué)現(xiàn)象.但是,首先光學(xué)儀器價格昂貴、資金短缺的高校難以滿足擴招后學(xué)生規(guī)模對設(shè)備數(shù)量的要求;其次,光學(xué)儀器操作復(fù)雜,學(xué)生無法在有限的學(xué)時內(nèi)通過改變參數(shù)全面觀察實驗現(xiàn)象. 因此,無論是理論上還是實驗過程中,對學(xué)生在這部分知識的理解和全面性認識方面都有一定的限制,更容易造成學(xué)生的片面認識和錯誤判斷,不利于知識的學(xué)習(xí).隨著信息化技術(shù)的飛速發(fā)展及當(dāng)前OBE教育理念的提出,計算機輔助教學(xué)已經(jīng)廣泛應(yīng)用于各學(xué)科的教學(xué)中.因此,將計算機仿真應(yīng)用到大學(xué)物理及實驗教學(xué)過程中,對教學(xué)效果的提高能起到重要的補充作用.
大學(xué)物理中涉及到的光學(xué)現(xiàn)象主要有光的干涉和衍射.其中,光的干涉現(xiàn)象包括等厚干涉和等傾干涉.等厚干涉如劈尖干涉與牛頓環(huán);邁克爾孫干涉可同時實現(xiàn)等厚干涉和等傾干涉兩種光學(xué)現(xiàn)象.光的衍射主要包括單縫衍射(以夫瑯禾費衍射為主)和光柵衍射.目前,運用計算機技術(shù)基本可以實現(xiàn)以上光學(xué)現(xiàn)象的仿真.常用的幾種仿真軟件有Matlab,Maple和LabVIEW.
Matlab是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件[1],用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計算的高級技術(shù)計算語言和交互式環(huán)境,主要包括Matlab和Simulink兩大部分,它的Tool Box工具箱集成了求解多種特定學(xué)科的工具,其主要特點是:
(1)簡單易學(xué).Matlab編程語法簡單,用戶只需要學(xué)習(xí)幾句語言就可以實現(xiàn)計算、繪圖等強大的功能,它的幫助內(nèi)容十分全面,我們甚至可以現(xiàn)學(xué)現(xiàn)用.
(2)可擴展性.Matlab允許用戶自行建立指定功能的M文件,可以方便地構(gòu)造出專用的函數(shù),從而擴展了其應(yīng)用范圍和編程效率.
(3)高效性.Matlab語句功能十分強大,一條語句可完成十分復(fù)雜的任務(wù).它大大加快了工程技術(shù)人員從事軟件開發(fā)的效率.
(4)交互性.Matlab語言提供了強大的文件I/O,可以很方便地與其他多種格式的文件之間進行交互操作.它還提供了豐富的應(yīng)用程序接口,方便其他程序調(diào)用和數(shù)據(jù)交換.
由于Matlab具有如此多的優(yōu)點,己經(jīng)被廣泛用于研究和解決各種工程問題.利用Matlab的仿真功能可以實現(xiàn)對多種光學(xué)現(xiàn)象的模擬.其中以牛頓環(huán)仿真研究為多,文獻[2]利用 Matlab GUI 制作了牛頓環(huán)仿真課件,把理論講解的內(nèi)容集成在仿真課件中,這樣就可以實現(xiàn)實驗和理論的實時結(jié)合.模擬過程可以實現(xiàn)牛頓環(huán)隨各個參數(shù)的變化情況,如入射光波長、介質(zhì)薄膜厚度、透鏡曲率半徑以及介質(zhì)折射率等.仿真過程還可以使用真實光譜,實現(xiàn)入射波長連續(xù)變化、光強分布的三維展示.在模擬測量部分,系統(tǒng)根據(jù)任意選取的測量環(huán)數(shù),自動顯示、讀取和保存數(shù)據(jù),并可以用最小二乘法擬合作圖和逐差法處理數(shù)據(jù).對實驗中很難觀察到的牛頓環(huán)白光干涉現(xiàn)象也可以通過仿真實現(xiàn).牛頓環(huán)白光干涉現(xiàn)象在實驗室中的觀察效果不好,由于實驗條件的原因,產(chǎn)生的圖像不清晰.文獻[3]根據(jù)色度學(xué)原理,用Matlab模擬牛頓環(huán)白光干涉,模擬過程可以改變透鏡曲率半徑等參數(shù),觀察參數(shù)變化對干涉圖樣的影響,仿真效果良好,圖像很清晰.文獻[4]則根據(jù)七色光合成白光的原理,仿真了白光牛頓環(huán)干涉實驗,可以改變透鏡曲率半徑觀察涉條紋變化.同時還對比了入射光和透射光的仿真干涉條紋,發(fā)現(xiàn)入射光和透射光干涉條紋為互補色.由此可見,通過仿真可以使圖像更清晰,便于對干涉現(xiàn)象的進一步分析,實現(xiàn)知識拓展.
除牛頓環(huán)干涉仿真以外,文獻[5]對楊氏雙縫干涉現(xiàn)象和圓孔夫瑯禾費衍射現(xiàn)象進行了Matlab仿真.在程序的設(shè)計過程完成了對光強的計算以及色彩的處理.通過改變?nèi)肷涔獠ǖ牟ㄩL等參數(shù),反應(yīng)不同條件下的現(xiàn)象和結(jié)果,動態(tài)直觀地展現(xiàn)各物理量之間的關(guān)系.文獻[6]對邁克爾孫干涉現(xiàn)象進行了Matlab仿真,得到給定條件下的干涉圖樣和相對光強分布.而文獻[7]利用Matlab的圖形用戶界面設(shè)計了一套可以脫離Matlab環(huán)境獨立運行,包括了多個光學(xué)實驗的仿真平臺,并以牛頓環(huán)干涉仿真為例,介紹了利用Matlab編程的基本思路和仿真功能.
另外,還可以將仿真與其他多媒體軟件結(jié)合起來運用到課堂中.如文獻[8]將Matlab,F(xiàn)lash和視頻制作軟件結(jié)合起來,利用Matlab實現(xiàn)牛頓環(huán)干涉現(xiàn)象的仿真,拍攝并制作出讀數(shù)顯微鏡的主尺和手輪的視頻控件,最后通過Flash編程實現(xiàn)了整個實驗操作過程的仿真.操作過程中,透鏡曲率半徑和入射光波波長都是可以改變的.
由此可見,通過Matlab模擬實驗測量,可以得到符合實際的結(jié)果,特別是可以通過改變各參量的值,獲得不同的測量現(xiàn)象,并且減少由于實驗設(shè)備及人為造成的實驗誤差,加深學(xué)生對牛頓環(huán)干涉條紋形成的正確理解,便于學(xué)生對知識的進一步探索,對培養(yǎng)學(xué)生獨立思考能力,激發(fā)學(xué)生學(xué)習(xí)興趣有著十分積極的意義.
Maple是目前世界上最為通用的數(shù)學(xué)和工程計算軟件之一[9],它的圖形式輸入、輸出界面與通用的數(shù)學(xué)表達方式幾乎一樣,用戶無需記憶許多語法規(guī)則,內(nèi)置超過5 000個計算命令,數(shù)學(xué)和分析功能覆蓋幾乎所有的數(shù)學(xué)分支,如微積分、微分方程、特殊函數(shù)、線性代數(shù)、圖像聲音處理、統(tǒng)計、動力系統(tǒng)等.除了符號運算方面的獨特優(yōu)勢外,Maple的數(shù)值計算功能和繪圖功能也很有特色.因此,用戶通過Maple產(chǎn)品可以在單一的環(huán)境中完成多領(lǐng)域物理系統(tǒng)建模和仿真、符號計算、數(shù)值計算等功能.
在利用Maple進行光學(xué)實驗仿真方面,也取得了較多的成果.如文獻[10]利用Maple軟件實現(xiàn)了單縫衍射、多縫衍射和邁克爾孫干涉現(xiàn)象的仿真圖像.在邁克爾孫干涉仿真中,可以實現(xiàn)條紋的動態(tài)吞吐演示過程,增加實驗的可視化效果.文獻[11]利用Maple軟件實現(xiàn)了雙縫干涉、牛頓環(huán)干涉和邁克爾孫干涉實驗的仿真,通過改變各參數(shù),呈現(xiàn)不同條件下的干涉圖樣和光強分布曲線,觀察各種實驗參數(shù)對干涉圖樣的影響和條紋變化規(guī)律.在光的衍射仿真方面,從惠更斯-非涅耳原理出發(fā),得到了單縫、圓孔和矩孔下的夫瑯禾費衍射光強分布表達式[12],利用Maple軟件編程實現(xiàn)了對這幾種衍射現(xiàn)象的計算機仿真.仿真圖樣清晰度高,光強分布曲線細致直觀.最重要的是,模擬過程可以改變各實驗參數(shù),觀察其對衍射結(jié)果的影響,使整個物理過程直觀形象.因此,利用Maple軟件也可以很好地實現(xiàn)多種光學(xué)現(xiàn)象的仿真.
LabVIEW是指美國國家儀器公司推出的一種基于“圖形”方式的虛擬儀器開發(fā)軟件.它具備強大的信號采集、信號發(fā)生、圖像獲取、數(shù)據(jù)分析與存儲顯示等功能.LabVIEW 軟件提供了豐富的數(shù)學(xué)函數(shù)、圖形化的輸入輸出控件,可以輕松地實現(xiàn)虛擬的信號發(fā)生器、示波器、萬用表、數(shù)據(jù)記錄儀等功能,并能夠仿真儀器的面板[13,14].
文獻[15]等用LabVIEW對牛頓環(huán)干涉現(xiàn)象進行了仿真,并直觀地分析出各參數(shù)對牛頓環(huán)干涉結(jié)果的影響.根據(jù)概率統(tǒng)計原理,模擬出入射光較少時,光會呈現(xiàn)出粒子性.模擬過程可以使學(xué)生在進行虛擬實驗時得到的干涉條紋動態(tài)實時顯示,增加交互效果.文獻[16]根據(jù)雙縫干涉的理論,利用LabVIEW仿真了雙縫干涉現(xiàn)象.學(xué)生同樣可以通過虛擬儀器自主設(shè)置入射光波長及強度、雙縫間距和縫與屏的距離等參數(shù),清晰地觀察不同條件下的干涉圖像和光強分部規(guī)律.另外,文獻[17]等結(jié)合Matlab和LabVIEW的優(yōu)點,采用二者相嵌套的方式對矩形孔和單縫下的夫瑯禾費衍射現(xiàn)象進行了仿真.利用LabVIEW實現(xiàn)圖像的讀取和顯示,圖像處理利用Matlab相關(guān)命令實現(xiàn).
所以,LabVIEW也是進行光學(xué)實驗仿真較好的計算機軟件之一.
由上可見,利用計算機輔助大學(xué)物理實驗的光學(xué)仿真研究已較為完善,基本實現(xiàn)了大學(xué)物理及實驗課程中所設(shè)計的光學(xué)內(nèi)容.這幾種仿真軟件在使用過程中各有優(yōu)劣.
Maple軟件編程簡單易學(xué),這是一般的計算語言無法比擬的.C語言和Fortran語言只能做數(shù)值分析,Matlab雖然能做符號運算,但不如Maple專業(yè).Maple的函數(shù)名稱和程序符號都是顯而易見的,很容易記憶.并且,Maple集圖像模擬處理、符號運算和數(shù)值計算于一身,相當(dāng)于一個軟件包,可以使大學(xué)物理教師減少學(xué)習(xí)負擔(dān).尤其對于低年級的本科生而言,只要掌握高等數(shù)學(xué)方面的數(shù)學(xué)知識就可以完成簡單的編程.但是,Maple在國外較流行,在國內(nèi)的應(yīng)用較少,相關(guān)的參考及學(xué)習(xí)資料不易獲得.
Matlab由于簡單易學(xué)、集成度高等優(yōu)點在國內(nèi)應(yīng)用最為普遍,很多高校都會開設(shè)這門課程.但是,Matlab是一門高級的矩陣/陣列語言,對于低年級的本科生而言,在學(xué)習(xí)《大學(xué)物理實驗》時,還未學(xué)習(xí)這部分內(nèi)容,因此不易掌握用Matlab編程,且對Matlab仿真在課堂上的應(yīng)用效果也有一定的影響.
Maple和Matlab都是一種程序語言,編程過程需要輸入大量的程序代碼.而LabVIEW是一種虛擬儀器和可視化編程工具,提供大量的模塊,如按鈕、LED等.通過拖拽圖標選擇函數(shù)的方式代替了較為繁瑣的輸入代碼編程,用線條將不同功能模塊連接起來,給用戶提供了簡單明了直接的圖形編程形式,大大減少了程序開發(fā)時間,而且運行速率幾乎不受到影響.用戶可以根據(jù)自己的需要,構(gòu)建自己的儀器系統(tǒng).但是只能進行一些簡單的數(shù)據(jù)采集和數(shù)組處理,在數(shù)據(jù)分析和數(shù)值運算方面的功能相比前兩者較弱.
總之,將計算機仿真應(yīng)用到大學(xué)物理及實驗的教學(xué)中,尤其是較為抽象的光學(xué)內(nèi)容,可以彌補單從書本和教師講授獲取知識的局限.在實驗教學(xué)中,如何更好地提高學(xué)生的預(yù)習(xí)效果一直是實驗課教師思考和探索的問題,如果將光學(xué)仿真應(yīng)用到實驗教學(xué)中,對光學(xué)實驗的預(yù)習(xí)效果就可以大大提高,并且借助仿真開展翻轉(zhuǎn)課堂,提高教學(xué)效果.為了將該項工作更好地運用和推廣到教學(xué)中,需要教師具備熟練的編程技能,靈活運用和實時解決學(xué)生提出的相關(guān)問題.現(xiàn)有的仿真研究雖然已經(jīng)很多,但是可以看出,在仿真的靈活度方面還不夠完善,很難實現(xiàn)不同光學(xué)參數(shù)的自由組合以及不同光學(xué)現(xiàn)象之間的交互作用,這就需要我們的教育工作者及科研工作人員繼續(xù)完善和改進仿真技能,為學(xué)生創(chuàng)建一個豐富的學(xué)習(xí)和科研平臺.
1 陳垚光.精通MATLAB GUI 設(shè)計.北京:電子工業(yè)出版社,2010
2 陳志歆,李斌. 基于Matlab GUI 的牛頓環(huán)仿真課件制作.實驗科學(xué)與技術(shù),2013,11 (4):330~333
3 王蘊杰.基于Matlab 的牛頓環(huán)白光干涉實驗仿真.大學(xué)物理實驗,2014,27(4):97~99
4 李玨璇,藍海江.利用七色光仿真白光牛頓環(huán)干涉實驗.實驗室科學(xué),2012,15(2):65~67
5 李繼軍.Matlab GUI在光學(xué)仿真中的應(yīng)用.通化師范學(xué)院學(xué)報,2010,31(2):52~54
6 劉偉.光學(xué)干涉光譜的模擬與分析.光譜實驗室,2012,29(1):516~518
7 王賢平,周華清,桑明煌.《光學(xué)》實驗仿真及可視化教學(xué)研究——以“牛頓環(huán)干涉”為例.鞍山師范學(xué)院學(xué)報,2015,17(6):36~38
8 周黨培,陳業(yè)仙.牛頓環(huán)實驗的計算機仿真. 四川兵工學(xué)報,2009,30(7):139~141
9 趙會江.Maple 9.0符號處理及應(yīng)用.北京:科學(xué)出版社,2007
10王悅悅,趙麗華,吳雷.Maple在光學(xué)實驗中的應(yīng)用.物理與工程,2009,19(4):17~19
11湯劍鋒,趙凡,歐陽錫城.應(yīng)用Maple仿真模擬光學(xué)干涉實驗.湖南文理學(xué)院學(xué)報(自然科學(xué)版), 2011, 23(2): 77~81
12湯劍鋒,趙凡.夫瑯禾費衍射實驗的Maple仿真設(shè)計.湖南文理學(xué)院學(xué)報(自然科學(xué)版), 2011,23(4):37~41
13劉剛,王立香,張連俊.LabVl EW 8.20 中文版編程及應(yīng)用.北京:電子工業(yè)出版社,2008
14楊樂平,李海濤,肖凱,等. 虛擬儀器技術(shù)概論.北京:電子工業(yè)出版社,2003
15李晨璞,謝革英,胡金江,等.基于LabVIEW 的牛頓環(huán)實驗動態(tài)仿真.實驗室研究與探索,2013,32(6): 97~101
16翟龍華.基于LabVlEW的干涉虛擬實驗研究.湖南城市學(xué)院學(xué)報(自然科學(xué)版),2016,25(5):41~42
17楊坤,蘇玉玲,沈巖,等.LabVlEW與Matlab在信息光學(xué)教學(xué)中的應(yīng)用.物理與工程,2011,21(2):39~42
ApplicationandExplorationonSimulationTechnologyinUniversityPhysicsandExperimentTeaching
ShenHuijuanDengLiqiangXuXiangfuFangYunliangQiLingminLaiGuoxia
(GuangDongUniversityofPetrochemicalTechnology,CollegeofScience,Maoming,Guangdong525000)
Highlights:Computer assisted instruction is an important complement to classroom and experimental teaching. The current simulation research on optical experiment in university physics experiment based on the application of several commonly used simulation software is introduced,and compares the several simulation software quality,provide a reference for the further improvement of the experimental simulation technology and related work.
university physics experiment;simulation;matlab;maple;labVIEW