顧錦華, 鐘志有, 王皓寧, 龍 浩
(1.中南民族大學(xué) 實(shí)驗(yàn)教學(xué)與實(shí)驗(yàn)室管理中心, 湖北 武漢 430074;2.中南民族大學(xué) 電子信息工程學(xué)院, 湖北 武漢 430074)
《大學(xué)物理實(shí)驗(yàn)》是高等院校中理工科專(zhuān)業(yè)學(xué)生的必修課程之一,其中數(shù)據(jù)處理是這門(mén)課程的一個(gè)重要組成部分,它與實(shí)驗(yàn)操作、實(shí)驗(yàn)方法等緊密結(jié)合而成為一個(gè)整體,并且貫穿于物理實(shí)驗(yàn)的全過(guò)程。在《大學(xué)物理實(shí)驗(yàn)》課程的教學(xué)過(guò)程中,如何提高學(xué)生的數(shù)據(jù)處理能力、掌握正確的數(shù)據(jù)處理方法對(duì)于他們綜合能力的提高和科技創(chuàng)新素質(zhì)的培養(yǎng)是至關(guān)重要的[1~4]。
MATLAB是由美國(guó)MathWorks公司推出的一款科學(xué)計(jì)算軟件,其名稱(chēng)源于Matrix Laboratory(矩陣實(shí)驗(yàn)室)。它具有簡(jiǎn)單易學(xué)、運(yùn)算效率高、應(yīng)用廣泛等特點(diǎn)[5,6]。MATLAB軟件是一種以矩陣作為最基本編程單元的程序設(shè)計(jì)語(yǔ)言,它將高性能的計(jì)算與可視化集成于一體,并提供了大量的內(nèi)置函數(shù)和工具箱,因此MATLAB具有強(qiáng)大的數(shù)學(xué)計(jì)算、圖像處理、模擬仿真、信號(hào)處理、科學(xué)與工程繪圖、數(shù)據(jù)采集、數(shù)據(jù)分析及其可視化等諸多功能[7~11],它是工程界最為流行的數(shù)學(xué)工具軟件之一,目前已經(jīng)廣泛應(yīng)用于各行各業(yè)的眾多領(lǐng)域之中[12~18]。在傳統(tǒng)的物理實(shí)驗(yàn)過(guò)程中,通常采用手工方法(如作圖法)來(lái)處理實(shí)驗(yàn)數(shù)據(jù),由于受到描點(diǎn)不準(zhǔn)確、繪圖比例不當(dāng)?shù)榷喾N因素的影響,不僅造成人為誤差較大,而且導(dǎo)致所得結(jié)果的精度不理想、無(wú)法完成對(duì)實(shí)驗(yàn)結(jié)果的進(jìn)一步分析和討論,因此很難滿(mǎn)足實(shí)驗(yàn)的要求[19~21]。本文以氫原子光譜等實(shí)驗(yàn)作為實(shí)例,基于MATLAB軟件通過(guò)編程對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理,克服了手工方法的不足,獲得了令人滿(mǎn)意的結(jié)果。
表1為氫原子光譜實(shí)驗(yàn)中測(cè)量獲得的原始數(shù)據(jù),表中表示位置的讀數(shù),表示對(duì)應(yīng)的波長(zhǎng)結(jié)果。本實(shí)驗(yàn)的目的就是要根據(jù)表1中的測(cè)試數(shù)據(jù),推算出當(dāng)位置讀數(shù)時(shí)對(duì)應(yīng)的波長(zhǎng),即待測(cè)氫原子光譜的波長(zhǎng)值。

表1 氫原子光譜實(shí)驗(yàn)的測(cè)試數(shù)據(jù)
利用MATLAB軟件對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理,不僅可以避免傳統(tǒng)手工處理數(shù)據(jù)時(shí)存在的問(wèn)題、大幅度降低計(jì)算工作量,而且能夠獲得高精度的擬合曲線(xiàn)并且容易直觀(guān)判斷出所得結(jié)果的正確性。對(duì)于表1中測(cè)試結(jié)果,為方便起見(jiàn),可以令自變量為,因變量為。利用MATLAB語(yǔ)言編程時(shí),首先定義兩個(gè)對(duì)應(yīng)于原始數(shù)據(jù)的矩陣x和y,然后采用MATLAB中的函數(shù)polyfit對(duì)數(shù)據(jù)點(diǎn)進(jìn)行多項(xiàng)式擬合從而計(jì)算出,最后再利用MATLAB中的函數(shù)plot和fplot進(jìn)行繪圖。在MATLAB的Command Window中輸入指令:
>> clear all;
>> x=[3.471,3.570,4.372,4.539,4.990,5.456,5.750];
>> y=[638.30,640.23,650.65,653.29,659.90,667.83,671.70];
>> xH=4.740;
>> [P,S]=polyfit(x,y,1)
P =
14.6229 587.4004
S =
R: [2x2 double]
df: 5
normr: 1.3405
>> yH=P(1).*xH+P(2)
yH =
656.7130
>> figure(1)
>> box on
>> hold on
>> plot(x,y,'ok')
>> fplot('14.6229.*x+587.4004', [3.3 5.9],1e-3)
>> xlabel('{itL} (mm)', 'FontSize', 12)
>> ylabel('{itlambda} (nm)', 'FontSize', 12)
從程序的結(jié)果看出,在空氣中待測(cè)量氫原子光譜的波長(zhǎng)值為λH=656.71 nm,與其公認(rèn)的波長(zhǎng)數(shù)據(jù)(656.28 nm)[3]是相符的。圖1為基于實(shí)驗(yàn)數(shù)據(jù)所繪制的L-λ曲線(xiàn),圖中圓圈表示實(shí)驗(yàn)測(cè)量數(shù)據(jù),線(xiàn)段表示擬合曲線(xiàn)。從圖中看到,實(shí)驗(yàn)測(cè)量數(shù)據(jù)點(diǎn)在擬合曲線(xiàn)附近,擬合結(jié)果良好。可見(jiàn)通過(guò)曲線(xiàn)擬合方法來(lái)計(jì)算氫原子光譜波長(zhǎng)是切實(shí)可行的。
在單縫衍射實(shí)驗(yàn)中,采用移測(cè)顯微鏡可以測(cè)量獲得一系列位置x(單位為mm)與衍射光光電流I(單位為mA)的數(shù)據(jù),其目的是為了繪制單縫衍射的光強(qiáng)強(qiáng)度分布圖。利用MATLAB語(yǔ)言編程時(shí),可以首先定義兩個(gè)矩陣x和i,它們分別對(duì)應(yīng)于位置x和光電流I,即:
x=[1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00,11.00,12.00,13.00,14.00,15.00,16.00,17.00,18.00, 19.00,20.00,21.00,22.00,23.00,24.00,25.00,26.00,27.00,28.00,29.00,30.00,31.00,32.00,33.00,34.00,35.00, 36.00,37.00,38.00,39.00,40.00,41.00,42.00,43.00,44.00,45.00,46.00,47.00,48.00,49.00,50.00,51.00,52.00, 53.00,54.00,55.00];
i=[0.00,0.02,0.11,0.17,0.30,0.35,0.29,0.14,0.10,0.00,0.06,0.28,0.62,0.81,0.93,0.68,0.23,0.20,0.00,0.78, 2.92,6.35,9.32,13.70,15.64,19.70,20.41,20.60,20.20,19.82,14.80,12.61,8.82,5.35,2.22,0.54,0.00,0.14,0.29, 0.72,0.92,0.83,0.55,0.22,0.11,0.00,0.09,0.20,0.30,0.35,0.29,0.18,0.10,0.02,0.00];
然后利用MATLAB中的函數(shù)plot進(jìn)行繪圖,所得光強(qiáng)分布如圖2所示。由圖2可以看出,單縫衍射實(shí)驗(yàn)中衍射光的光強(qiáng)分布曲線(xiàn)不理想,由此可見(jiàn)原始測(cè)量數(shù)據(jù)存在一定的誤差。為了減小實(shí)驗(yàn)誤差,可以通過(guò)“三點(diǎn)線(xiàn)性滑動(dòng)平均”的方法來(lái)對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理。在操作過(guò)程中,使用“三個(gè)連續(xù)數(shù)據(jù)平均后的值”來(lái)替代中間這個(gè)原始測(cè)量數(shù)據(jù),除了首尾兩個(gè)測(cè)量值之外,其余的數(shù)據(jù)依次作此處理。經(jīng)過(guò)滑動(dòng)平均后所得到的光強(qiáng)分布如圖3所示,從圖3中看到,此時(shí)所繪制的曲線(xiàn)比較光滑,光強(qiáng)分布也比較對(duì)稱(chēng),這一結(jié)果表明在單縫衍射實(shí)驗(yàn)中測(cè)量數(shù)據(jù)經(jīng)過(guò)滑動(dòng)平均后,其實(shí)驗(yàn)誤差得到了大幅度降低,所得實(shí)驗(yàn)結(jié)果是令人滿(mǎn)意的。

圖2處理前的光強(qiáng)分布

圖3處理后的光強(qiáng)分布
針對(duì)傳統(tǒng)《大學(xué)物理實(shí)驗(yàn)》數(shù)據(jù)處理中所存在的不足,本文利用MATLAB軟件進(jìn)行編程對(duì)實(shí)驗(yàn)測(cè)量數(shù)據(jù)進(jìn)行處理,展示了MATLAB在《大學(xué)物理實(shí)驗(yàn)》教學(xué)中的應(yīng)用,顯示了MATLAB強(qiáng)大的計(jì)算與圖形功能,一方面,能使學(xué)生在基本技能得到鍛煉的基礎(chǔ)上,提高了學(xué)生的計(jì)算機(jī)應(yīng)用能力,大大減少了煩瑣而無(wú)意義的工作;另一方面,還有助于學(xué)生自主創(chuàng)造能力的培養(yǎng),有效調(diào)動(dòng)了學(xué)生的學(xué)習(xí)積極性,極大提高了實(shí)驗(yàn)教學(xué)效果。所以,將MATLAB軟件貫穿于物理實(shí)驗(yàn)教學(xué)的全過(guò)程,對(duì)于培養(yǎng)學(xué)生利用現(xiàn)代信息技術(shù)的意識(shí)、推動(dòng)高等院校物理實(shí)驗(yàn)教學(xué)改革具有非常重要的作用。