【摘 要】將Matlab引入到物理光學的課程教學中,通過計算機數(shù)值模擬,可以將一些復雜抽象的公式轉化為生動形象直觀的物理圖像,幫助學生更好地理解物理概念,總結變化規(guī)律,是提高教學質量的有效手段。本文總結了過去幾年我們在物理光學課程教學中利用Matlab輔助教學的一些成果、經驗和教訓,分享得失,以求共同進步。
【關鍵詞】物理光學 Matlab 教學改革 數(shù)值模擬
【中圖分類號】G642 【文獻標識碼】A 【文章編號】1674-4810(2015)35-0031-03
Matlab是一款基于矩陣進行數(shù)值計算的工程軟件,因為其計算高效、界面友好及交互性強等優(yōu)點被廣泛應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。近些年,Matlab被廣泛應用于課程教學中,在數(shù)值分析、線性代數(shù)等數(shù)學類課程,以及信號與系統(tǒng)、數(shù)字圖像處理、控制工程等專業(yè)課程中都大量使用Matlab軟件來輔助教學,也出版了很多相關的書籍。也有一些教學團隊將Matlab軟件應用于光學類課程的教學,包括應用光學、物理光學、光學設計及光電子學等課程。實踐證明,Matlab在這些課程的教學中發(fā)揮了積極的作用,為教學質量的提高做出了很大的貢獻。
早在2004年,我們就開始將Matlab軟件引入到物理光學課程的教學中,建立了很多程序模塊。本文將對以往我們在這方面的研究成果進行一個總結,并分析存在的問題和不足。
一 Matlab在物理光學中的應用價值
物理光學是基于光的電磁場理論研究光在空間的傳播特性,主要內容包括光在媒質表面的反射與透射、光的干涉與衍射以及光在晶體等各向異性媒質中的傳播等。其中有很多概念對應著較為復雜的理論推導和數(shù)學公式,通過分析這些數(shù)學公式可以較好地理解對應的物理概念。但是這些公式往往比較復雜,包含多個變量,通過直觀分析是無法全面獲取這些公式所代表的物理意義的。利用計算機編程的方法將這些數(shù)學公式轉換為不同條件下的物理圖像,可以更好地幫助學生理解這些公式所代表的物理含義。Matlab是一種記事本式的編程語言,基于矩陣概念,可以完成很多數(shù)值計算。
某些較為簡單的公式,可以直接在Matlab命令窗口直接設定x自變量和常量的數(shù)值和變化范圍,給出x自變量和應變量y之間的數(shù)學關系,再利用plot的命令就可以輕松地畫出自變量變化時應變量的變化情況。對于稍微一些復雜的公式,可以通過編寫程序的方式來實現(xiàn)模擬。Matlab提供了M-file的功能,可以讓使用者在其中編寫函數(shù),使用function命令,而且Matlab提供了while、if、else等循環(huán)控制語言,類似于VC或C語言,可以編寫一個函數(shù)來模擬數(shù)學公式的物理圖像;在編寫程序的過程中,可以任意選擇不同變量的變化范圍,以獲得不同條件下的物理圖像。
在過去幾年中,我們編寫了很多應用于物理光學的數(shù)值模擬模塊,例如光在媒質界面的反射和折射、楊氏雙縫干涉、等厚干涉、等傾干涉、多光束干涉、光學鍍膜、多縫衍射、圓孔衍射、波帶片等。在課程教學的過程中,我們通過在課堂上實時演示這些模擬模塊的運行結果,可以非常形象生動地反映復雜公式對應的物理含義,學生也非常容易理解不同的變量和參數(shù)是如何影響這些物理現(xiàn)象變化的。而且這些模擬模塊還為師生互動提供了條件,教師可以根據學生的要求選擇不同的參量變化范圍,來演示不同條件的物理圖像。反過來,老師也可以激發(fā)學生去思考不同條件下的物理圖像,基于這些物理圖像總結變化規(guī)律。
二 教學實例展示
下面以“光在介質界面的反射和折射特性”這一數(shù)值模擬模塊為例簡要展示一下Matlab在課程教學中的應用。
1.背景介紹
光束從一種介質入射到另外一種介質時,在介質界面因為折射率的差異會發(fā)生反射和透射,這是一種非常常見的光學現(xiàn)象?;赟nell定律和Fresnel公式可以計算反射光束和透射光束的傳播方向、振幅、相位及強度。將入射光束、反射光束和透射光束都分解為s分量和p分量,則可以計算s分量和p分量的反射系數(shù)和透射系數(shù):
以及對應的反射率和透射率:
根據上面的公式可以知道,光束在介質界面的反射特性是由兩種介質的折射率n1和n2,以及入射角三個基本的物理量決定的。直接通過觀察上面的這些公式,是無法明顯地看到反射光束和透射光束隨著這幾個物理量的變化規(guī)律的,因此需要借助數(shù)值模擬計算來得到一些物理圖像以了解這些規(guī)律。
2.Matlab數(shù)值模擬程序
上面這一組公式并不是非常簡單的,它有三個變量,因此我們可以利用Matlab編寫一個M函數(shù)來模擬這些公式在不同條件下的變化。
編寫的程序如下:
function Fresnel(n1,n2,N)
% n1為介質1的折射率,n2為介質2的折射率,N為模擬的點數(shù)
for i=1:N+1
%首先判斷是否發(fā)生了全反射,因此確定入射角的范圍
if n1lt;n2
theta1(i)=pi/2/N*(i-1);
theta2(i)=asin(n1*sin(theta1(i))/n2);
else
theta1(i)=asin(n2/n1)/N*(i-1);
theta2(i)=asin(n1*sin(theta1(i))/n2);
end
%下面計算s分量和p分量的反射系數(shù)和透射系數(shù)
rs(i)=-sin(theta1(i)-theta2(i))/sin(theta1(i)+theta2(i));
rp(i)=tan(theta1(i)-theta2(i))/tan(theta1(i)+theta2(i));
ts(i)=2*cos(theta1(i))*sin(theta2(i))/sin(theta1(i)+theta2(i)); tp(i)=2*cos(theta1(i))*sin(theta2(i))/sin(theta1(i)+theta2(i))/cos(theta1(i)-theta2(i));
%并進一步計算s分量和p分量的反射率和透射率
Rs(i)=rs(i).^2;
Rp(i)=rp(i).^2;
Ts(i)=n2/n1*cos(theta2(i))/cos(theta1(i))*ts(i).^2;
Tp(i)=n2/n1*cos(theta2(i))/cos(theta1(i))*tp(i).^2;
end
%在獲得結果的基礎上,利用plot命令,畫出所得的物理圖像
figure(1);
theta1=theta1/pi*180;
plot(theta1,rs,'rx')
hold on
plot(theta1,rp,'-x')
hold on
plot(theta1,ts,'ro')
hold on
plot(theta1,tp,'-o')
figure(2);
plot(theta1,Rs,'rx')
hold on
plot(theta1,Rp,'-x')
hold on
plot(theta1,Ts,'ro')
hold on
plot(theta1,Tp,'-o')
end
在這個程序里,我們可以自由地選擇兩種介質的折射率,由介質的折射率就可確定入射角的范圍,如果沒有發(fā)生全反射,即光束從一個光密介質進入一種光疏介質,入射角可以從0~90度變化,但如果光束從光密介質進入光疏介質,則存在全反射,入射角就從0到臨界角變化了。程序第一部分就可以完成這個判斷及入射角范圍的確定。而后面的計算則是入射角從0到最大入射角連續(xù)變化時,對應的反射系數(shù)、透射系數(shù)以及反射率和透射率的變化了。
3.數(shù)值模擬結果
當n1=1.0以及n2=1.5時,圖1為反射系數(shù)、透射系數(shù)的變化曲線,圖2為反射率和透射率的變化曲線。
圖1
圖2
首先,我們數(shù)值計算了n1=1.0和n2=1.5的情況下,反射系數(shù)、透射系數(shù)、反射率和透射率的變化曲線,如圖1、圖2所示。從給出的物理圖像可以總結出一些基本的變化規(guī)律,例如:(1)反射光束的s分量總是小于零的,即意味著反射光束的s分量與入射光束的s分量振動方向相反;(2)反射光束的p分量的振動方向則與入射角有關,特別地,當入射角等于某一個特定的值時,p分量的反射系數(shù)為零,這個角被定義為步儒斯特角;(3)透射光束的s分量和p分量的反射系數(shù)和透射系數(shù)都是正的;(4)反射光束的反射率隨著入射角度增加而增加,透射光束的透射率則隨著入射角度增加而減小。進一步,我們可以改變n2的數(shù)值,以驗證以上規(guī)律的普遍性。類似的,我們也可以計算n1=1.5、n2=1.0的情況。這里不再詳述。
通過上面這個教學實例的展示,我們可以看到,利用Matlab的數(shù)值模擬計算可以讓一些復雜的公式以非常形象生動的物理圖像形式展示出來,基于這些物理圖像就很容易總結出一些基本的變化規(guī)律。這樣的教學可以極大地提高學生的學習積極性,教學效果也有很大提升。
三 存在的問題和不足
在不斷的教學改革實踐過程中,我們取得了很多的教學成果,教學質量也得到了提升,但我們也看到了一些不足,還有一些需要改進提高的地方,例如:
第一,學生參與度還不夠,需要鼓勵學生主動編寫一些數(shù)值模擬的模塊,這樣對于他們分析問題和解決問題能力的提升會有更多幫助;目前來說,這些數(shù)值模擬的模塊都是老師編寫的,接下來需要鼓勵、引導學生去寫一些模塊。
第二,平臺建設還需要完善。盡管目前初步建立了數(shù)值模擬的平臺,但是這個平臺的功能還難以充分滿足教學需求,接下來需要進一步完善這個平臺。
四 總結
在過去幾年,我們在物理光學的教學過程中使用了Matlab軟件來輔助教學,取得了很好的效果,教學質量有了明顯提升,學生學習積極性也有了很大提高,這堅定了我們繼續(xù)深入改革的信心。我們相信,通過更多的鼓勵學生參與課程教學,并建立一個更為完備的教學平臺,該課程的教學質量會進一步得到提高。
參考文獻
[1]王洋.多媒體課件在工程光學教學中的應用[J].黑龍江教育(高教研究與評估),2010(3):82~83
[2]陳寶玉、劉正國、馮榮達等.關于《工程光學》課程教學的幾點探索與實踐[J].科技資訊,2011(20):212~213
[3]蔡建文.工程光學課程教學探討[J].中國科教創(chuàng)新導刊,2011(5):58
[4]陳泳竹.工程光學教學中實施創(chuàng)新教育的探討[J].廣東技術師范學院學報,2009(3):86~88
〔責任編輯:林勁、李婷婷〕