陳順芳,徐四六
(湖北科技學院 電子與信息工程學院,湖北 咸寧 437100)
MATLAB是MATrixLABoratory的縮寫,是一款由美國MathWorks公司出品的商業數學軟件[1].其是一種集算法開發、數據分析、數值計算、數據可視化的高級計算語言.MATLAB不僅具有繪制函數、矩陣運算、數據圖像等常用功能,而且具有創建用戶界面與方便地調用其它語言(包括C,C++和FORTRAN)編寫的功能.
Matlab具有功能強大且界面友好的特點,使用者只需要使用Matlab的一些簡單易懂的指令便可以迅速得到想要的結果;Matlab的幫助功能非常強大,各種命令有圖文范例和詳細講解,使用者能夠快速地查詢各種指令的用法[2].同時,Matlab可以簡便的創建圖形界面,創建按鈕和圖形的連接,設置各種輸入參數而改變數據,從而更好地觀察圖形,動畫的變化規律.物理學是一門實驗性科學,我們可以構建物理模型,利用Matlab的繪圖、計算、動畫、聲音、等功能來模擬物理實驗現象;教師可以通過Matlab演示物理實驗過程,從而來更好地解釋物理現象和物理規律;學生可以利用虛擬的實驗平臺探究各種情境實驗.利用Matlab能 使復雜的物理實驗可以在計算機中體現,學生不必進行具體的實驗操作,可以將具體問題抽象化,加深學生對物理現象和規律的理解,提高實驗教學的效率,并且能充分挖掘學生的想象力,培養學生的智力.
2.1.1 雙光束干涉

圖(1)雙縫干涉原理圖(左)和雙縫干涉圖模擬圖(右)
雙光束干涉,按照分波面可以分為楊氏干涉、勞埃鏡干涉、菲涅爾雙棱鏡和雙面鏡干涉等,按分振幅可分為麥克爾遜干涉等.圖1(左)所示的是楊氏雙縫干涉裝置:
現在對雙縫干涉條紋的位置做定量分析,假設S1與S2之間的距離為d,到屏幕的距離為r0,NP0是S1,S2的中垂線.在屏幕上任取一點P,設P點離P0的距離為x,P點到S1,S2距離分別為r1,r2,<PNP0=θ.在實驗中,一般認為r0>>d,θ很小,所以從S1與S2兩線縫發出的光到達P點的光程差為
當P點到雙縫的波程差為波長的整數倍時,P點處將出現明條紋.其中k為干涉級,k=0的明條紋為零級明紋或中央明紋,k=1,2,…對應的明條紋分別成為第一級、第二級……明紋.若P點到雙縫的光程差為半波長的奇數倍時,P點處出現暗條紋,k=1,2,… 稱為第一級、第二級……暗紋.波程差為其他的各點,光強介于明暗之間.因此可以在屏幕上看到明暗相間的穩定的干涉條紋.由計算可得,明條紋中心在屏上的位置為:

暗條紋的中心位置為:

兩個相鄰的明紋或者暗紋之間的距離為(即條紋間距)均為:

菲涅爾雙棱鏡、菲涅爾雙面鏡和勞埃鏡等的干涉花樣分布,都與此類似.兩相干光源到接收屏上P點距離r1=(D2+(y-a/2)2)1/2,r2=(D2+(y+a/2)2)1/2,相位差Φ=2π(r2-r1)/λ,光強I=4I0cos2(Φ/2).
編寫程序如下:

clear lam=500e-9;a=2e-3;D=1;ym=5*lam*D/a;xs=ym;n=101;ys=linspace(-ym,ym,n);for i=1:n r1=sqrt((ys(i)-a/2).^2+D^2);r2=sqrt((ys(i)+a/2).^2+D^2);phi=2*pi*(r2-r1)./lam;B(i,:)=sum(4*cos(phi/2).^2);end N=255;Br=(B/4.0)*N subplot(1,2,1);image(xs,ys,Br);colormap(gray(N));subplot(1,2,2);plot(B,ys)
通過編寫Matlab程序,在計算機上運行得到雙縫干涉圖模擬圖1(右).從圖中我們可以看到雙縫干涉實驗中,干涉條紋的等距性,條紋的強度明暗相間的變化規律.圖中顯示的結果與實驗結果一致表明,一方面驗證了光的波動理論的正確性,另一方面也體現了計算機模擬的本質和特征.
2.1.2 平面光柵衍射
由大量的等間距、等寬度的平行狹縫組成的光學元件成為衍射光柵.用于在透射光衍射的叫投射光柵,用于反射光衍射的叫做反射光柵.常用的投射光柵是在一塊玻璃片上刻畫出許多等間距、等寬度的平行刻痕,刻痕出相當于毛玻璃而不易透光,刻痕之間的光滑部分可以透光,相當于一個單縫,縫的寬度a和刻痕的寬度b之和,即a+b之 和成為光柵常數.平行單色光垂直照射在光柵上交,由光柵出射的光線經過透鏡L后,會聚與屏幕E上.
設光柵有N條狹縫,透鏡焦距為f',理論分析可得到,夫瑯禾費衍射的光屏上任意一點P的光強為

式中β=πdsinθ/λ,上式的前一部分與單縫衍射的強度相同,它來源于單縫衍射,是整個衍射圖樣的輪廓,稱為單縫衍射因子.后一部分分數可以改寫如下:因為dsinθ=δ為相鄰兩縫對應點到達觀察點的光程差,這個光程差所引起的相位差為φ=2πdsinθ/λ=2β,光強分布公式的分數部分來源于縫間干涉,叫做縫間干涉因子,可寫為

可見光柵衍射的光強是單縫衍射因子和縫間干涉因子的乘積,即單縫衍射因子對干涉主最大起調制作用.
對于一定的波長來說,根據dsinθ=jλ(j=0,±1,±2,…),可知各級譜線之間的距離有光柵常量d決定,各級譜線的強度分布將隨著b與d的比值的變化而變化.由

不難決定各主最大值的振幅分布,把由光柵方程決定的sinθ的值代入上式,得到j級譜線的振幅為


關于上面論述的知識點,我們所學的教材只能給出了平面光柵衍射強度分布曲線,僅由光柵衍射此強度函數曲線圖,讀者還是會感覺到抽象,難以對此現象形成更為直接的直觀印象,特別是平面光柵衍射中涉及的缺級現象更加難以理解,本文運用Matlab編寫相應的程序,對此物理現象進行模擬.從圖(2)我們可以看到:
(1)圖樣中出現一系列最大值和最小值,主最大兩線較寬,次最大兩線較弱.(2)主最大寬度隨著N的增大而減小,其強度正比于N2,但位置與縫數N無關.(3)相鄰主最大之間有N-1條暗紋和N-2個次最大.(4)強度分布中曲線的包跡與單縫衍射強度曲線一樣.光柵衍射條紋,表面是單縫衍射和縫間干涉的共同結果.
圖中顯示的結果與實驗結果基本一致,驗證了光的波動理論的正確性.因此,通過MATLAB軟件編程對衍射過程進行仿真,可以使光柵衍射現象和規律直觀地表現出來.
大學物理實驗的數據處理,常用一些粗略處理數據的方法:列表法,作圖法,逐差法.在實驗精度要求不高的普通物理實驗中,我們經常要用到.而對于最小二乘法,若使用計算器的統計功能來計算,將會出現計算量大、按鍵錯誤、不方便核查校對,并且耗時費力的缺點,因此一般較小被采用[2].相對于前面幾種數據處理方法,Matlab軟件是集數值、符號運算及圖形處理、程序語言設計等強大功能于一體的科學計算語言.用Matlab處理實驗數據僅需編寫幾行簡練程序,運行后就可得到所需的結果.應用它,一方面能較準確地標記實驗數據點和繪出擬合曲線,另一方面可以克服了最小二乘法計算量大、繁瑣、枯燥的數值計算[3],并且其運行結果可用復制、粘貼,可以在其它文字編輯軟件運行,圖形可用File菜單中“export”命令保存為常用類型的圖形文件[4-6].
下面我們以復擺實驗為例,介紹用Matlab實現最小二乘法處理實驗數據的方法.
把一根鉆有一系列小圓孔的扁平金屬棒掛在一固定的三棱柱刀口上,做幅角θ<5o的擺動,這就是復擺.用米尺分別測出支點0到棒的端點的間距、棒的質心C,求出支點到擺的質心C的距離h,用周期測定儀測出復擺振動20次的全振動時間,求出復擺的振動周期T,實驗數據列于表一,復擺的振動周期公式為

式中k為復擺對過質心且垂直于棒的軸的回轉半徑,g為重力加速度,我們選用的復擺實驗數據如下表:

表一:復擺實驗數據
為實現最小二乘法直線擬合實驗數據,將曲線方程式改寫


根據上述物理模型及數學模型,用Matlab語言編寫程序,保存之后再運行之,分別得到下列結果:
(1)擬合直線的斜率:截距b=4.0337(1/m.s2),a=0.3501(m.s2)
(2)擬合直線的相關系數:r=1.00135.
(3)擬合直線的斜率,截距的標準偏差:Sb=0.0124(1/m.s2),Sa=0.00133(m.s2).
(4)重力加速度及其標準偏差:g=9.8345(m.*1/s2),Sg=0.03121(m.1/s2).
(5)回轉半徑:k=0.30123(m),Sk=0.73246(mm).
(6)y-x圖上的擬合直線,如圖11所示,圖中的“*”表示實驗數據點,實線表示擬合直線.

圖(3)y -x 擬合直線圖
用Matlab軟件處理復擺實驗數據,只需打開保存的編輯好了的文件,在該文件中把原來實驗數據修改為新的實驗數據,立刻可得到新的實驗結果、實驗圖線和擬合曲線,作圖清晰,準確性高,即輸即得,一目了然.另外,只要對該文件稍作修改,即可成為用最小二乘法處理其它實驗項目的實驗數據的新M命令文件.
文章通過雙光束干涉實驗、平面光柵衍射實驗,以及復擺的振動實驗來研究MATLAB在大學物理實驗中的應用.研究表面,在物理實驗教學中,應用MATLAB實驗仿真系統,可以為學生提供一個良好的實驗平臺,其既能激發學生興趣,開發學生的智能,提高實驗課效果,同時讓學生了解計算機模擬的本質.
[1]張志通.精通Matlab6[M].(5版)北京:北京航天大學出版社,2003.
[2]羅興垅,羅穎.Matlab軟件在物理實驗數據處理中的應用[J].贛南師范學院學報,2004,(3).
[3]韓敬,鐘方川,李林.Matlab在大學物理實驗數據處理中的應用[J].大學物理實驗,2008,21(1).
[4]張永鋒,潘穎.MATLAB在物理實驗數據處理中的應用[J].安徽技術師范學院學報,2003,17(3):259 ~261.
[5]徐四六,賀平.大學物理實驗教學改革的探究與實踐[J].咸寧學院學報,2007,27(3).
[6]陳順芳,徐四六.光電信息實驗,實踐平臺構建的探究[J].咸寧學院學報,2011,31(6).