吳云峰,于乃森,鄭鵬程,張 晶,關壽華
(大連民族學院物理與材料工程學院,遼寧大連116605)
利用計算機解決問題,就需要選擇合適的計算機語言。與許多傳統語言,如 Basic、C相比MATLAB語言更適用于科學計算。MATLAB[1]具有可靠的數值計算和符號計算,強大的繪圖,簡單易學的語言體系以及為數眾多的工具箱等功能。MATLAB的數據處理能力和操作的簡易性已越來越為大家所接受。謝家興等[2]使用MATLAB進行傅里葉變換光學仿真,用衍射積分和傅里葉變換方法實現夫瑯禾費衍射計算機模擬,在大量實驗的基礎上建立基于MATLAB的光學實驗仿真系統。光色散有關物理量的計算(如強度函數,消光系數等)是十分繁瑣復雜的。由于MATLAB語法簡單,操作方便,姬豐等[3]使用MATLAB進行計算,大大提高了效率。邁克爾孫實驗是經典的物理實驗,張漢偉等[4]從實驗出發,用MATLAB做出干涉條紋圖樣,可對條紋的形狀和光屏位置的關系進行方便的分析。張樹林[5]運用MATLAB編程語言完成一維無限深勢阱和線性諧振子的能級、波函數及幾率密度等結果的圖形繪制,可加深人們對這些物理量的理解。錢曉凡等[6]針對衍射計算困難的問題,選擇合適的計算公式,并基于MATLAB編寫計算程序,使計算變得簡潔,大大提高了實驗的效率。還有一些作者[7-11],利用 MATLAB強大的的數據處理能力進行物理實驗的計算機模擬及數據的數字化處理。
在近代物理實驗中,需要用精密的儀器測量大量的原始數據。同時,由于物理實驗所涉及的公式往往復雜、抽象,學生難以理解,容易遺漏細節。這就給實驗之后數據的處理及分析帶來了很大的不便,影響了教學的效率及效果。為了解決大量數據的采集、處理和分析之間的矛盾,可利用MATLAB強大的數據處理能力,減小工作量以提高效率。
本文是根據實驗原理通過做實驗取得原始數據,利用MATLAB軟件模擬出He-Ne激光光束光強分布的四種強度花樣圖和激光光束的概率分布云圖。利用MATLAB模擬出的花樣圖和分布云圖,可讓學生對激光光束有一個直觀、清晰的認識,對理解和掌握激光光束的概念有很大的幫助作用。
本實驗采用平凹腔He-Ne激光器,利用多模式He-Ne激光器發出的光通過一個水平45°放置的凹面鏡反射到豎直放置的平面鏡上,光功率接收器接收豎直放置的平面鏡反射來的光束。分析和研究激光光束的光強分布,進而擬合出激光光束的光強花樣圖和概率圖。實驗裝置示意圖如圖1。

圖1 實驗裝置示意圖
通過實驗分別測量了激光光束在縫寬0.6 mm和0.3 mm下的光強分布。
(1)運用MATLAB語言編寫程序,繪制出He-Ne激光光束的光強分布的4種光強花樣圖。
(2)利用實驗測量的數據,分別繪制出激光光束在不同縫寬下的概率圖。
(1)He-Ne激光光束的光強分布的4種強度花樣圖,如圖2.
假設4種強度花樣的半徑相同,取值為6.5 mm:
程序如下:
function her=hermite(m,x) %建立厄米多項式函數
if m==0 %m為0時
her=ones(size(x)); %建立矩陣her同矩陣x大小相同的一個幺矩陣
elseif m==1 %m 為1時
her=2*x; %her 為2x
else her=2*x.*hermite(m-1,x)-(m-1)*2*hermite(m-2,x); %m不等于0和1時為厄米多項式函數
end
x=linspace(-6.5,6.5,500); % 在 -6.5和6.5取500個值
y=x;%x值賦給y
[xx,yy]=meshgrid(x,y); %產生的網格點坐標矩陣
k=1;
for m=0:1
for n=0:1
Ie=hermite(m,sqrt(2)*xx).^2.*hermite(n,sqrt(2)*yy).^2.*exp(-2*(xx.^2+yy.^2));
subplot( 2,2,k);%畫出三維曲面圖
surf(xx,yy,Ie);
shading interp; %給曲面圖著色
axis equal;%將縱、橫坐標軸采用等長刻度
axis([-3,3,-3,3]);
grid off;
box on;
axis off;
hold on;
k=k+1;
end
end
subplot(2,2,1);title(TEM00);
subplot(2,2,2);title(TEM10);
subplot(2,2,3);title(TEM01);
subplot(2,2,4);title(TEM11);

圖2 激光光束的光強分布的4種強度花樣圖
(2)激光光束的概率分布云圖的繪制
繪制高斯光束的基模TME00在不同縫寬所得到的光強分布的概率圖,如圖3。
當縫寬為0.6mm時:
根據實驗測得的數據,得x0最大值13mm,即2r0=13mm,r0=6.5mm
程序如下:
clear;
輸入x0
輸入y0 %輸入x,y的的值
subplot(1,2,1);
k=0:0.01:2*pi; %在0到2pi之間取數
s=20000; %s取2萬個數
plot(6.5*cos(k),6.5*sin(k)) % 繪制半徑6.5的圓
hold on
r0=6.5; %半徑6.5
r=r0*rand(1,s); %在半徑范圍內取2萬個隨機數
x=linspace(0,13,500); %0 到 13 之間取500個數
p=polyfit(x0,y0,10); %擬合十次函數
y=polyval(p,r); %求函數值
D=y/100; %計算在徑向半徑上每個點出現的概率
q=find(D>0.0001); %去掉電子出現概率極低的點
m=length(q); %求q的長度
t=2*pi*rand(1,m) %找出不同概率時各個電子所在半徑
plot(r(q).*cos(t),r(q).*sin(t),'k ','gailvtu',1)% 繪制概率圖
當縫寬為0.3mm時:程序如上。

圖3 基模的光強分布的概率圖
對于高階激光光束模式,在不同縫寬所得到的光強分布的概率圖,與基模模式同理,可作出如圖4的概率圖。

圖4 高階激光光束的光強分布的概率圖
利用MATLAB語言編寫程序可以將He-Ne激光器激光光束的四種基本強度花樣圖以及概率圖,清晰直觀地繪制出來。強度花樣圖讓同學們簡單快速地記住每種模型的特點,而概率圖則使同學們很容易區分出光強分布強弱的特點,這樣更讓同學們加深了對He-Ne激光器激光光束模式的理解,便于同學們學習。在近代物理實驗教學中,如果事先編好一個實驗程序,利用測量的實驗數據代入程序就使得教學效果有所提高,值得在教學中推廣。
[1]劉衛國.MATLAB程序設計與應用[M].2版.北京:高等教育出版社,2006.
[2]謝家興,王建,代秋芳,等.基于MATLAB的傅里葉變換光學仿真[J].光學學報,2009,29(s1):130-133.
[3]姬豐,鄭剛,屠其軍,等.基于MATLAB的光散射物理量的數值計算方法[J].光學儀器,2003,25(1):29-32.
[4]張漢偉,董天奇,何焰藍,等.基于兩點光源的邁克耳孫實驗分析[J].物理與工程,2009,19(6):27-35.
[5]張樹林.基于MATLAB的能級、波函數及幾率密度圖形的繪制[J].大學物理實驗,2008,21(3):102-105.
[6]錢曉凡,胡濤,張曄.基于MATLAB的衍射場模擬計算[J].昆明理工大學學報:理工版,2004,29(3):132-134.
[7]梁齊,許曉琳,王明虎.光干涉實驗的計算機模擬[J].大學物理實驗,2003,16(3):61-63.
[8]郭天葵.基于MATLAB的實驗數據處理[J].大學物理實驗,2005,18(3):80-82.
[9]余小英,李凡生.基于MATLAB的雙棱鏡干涉圖像處理研究[J].物理實驗,2010,30(5):28-31.
[10]崔紅,常洋,張建生.基于MATLAB的尾流圖像數字化處理[J].光子學報,2010,39(12):2274-2278.
[11]崔祥霞.圓孔圓環夫瑯禾費衍射實驗的MATLAB仿真設計[J].物理與工程,2010,20(5):34-36.