顏利芬,黃運(yùn)米,黃曉虹,王振國(guó)
(溫州大學(xué) 數(shù)理學(xué)院,浙江 溫州 325000)
Matlab、Mathematica等科學(xué)計(jì)算軟件具有強(qiáng)大的計(jì)算功能和繪圖功能,在大學(xué)物理實(shí)驗(yàn)教學(xué)中應(yīng)用這些軟件來進(jìn)行實(shí)驗(yàn)?zāi)M和數(shù)據(jù)處理,有利于提高學(xué)生利用計(jì)算機(jī)解決問題的能力,加深學(xué)生對(duì)物理實(shí)驗(yàn)的理解[1-2]。在Matlab中,通過創(chuàng)建圖形用戶界面(Graphical user interface,GUI),數(shù)據(jù)處理過程更加可視化,能夠?qū)?shù)據(jù)處理結(jié)果直觀地顯示出來,并加快了實(shí)驗(yàn)的運(yùn)算過程。采用靜態(tài)拉伸法來測(cè)量金屬絲的楊氏彈性模量[3-4],實(shí)驗(yàn)數(shù)據(jù)多,計(jì)算量大,借助于Matlab GUI處理實(shí)驗(yàn)數(shù)據(jù),幫助學(xué)生更好更快地進(jìn)行數(shù)據(jù)處理,對(duì)實(shí)驗(yàn)進(jìn)行更有意義的思考和探索。
(1)
y是金屬材料的楊氏彈性模量,是表征材料力學(xué)性能的一個(gè)物理量[4-6]。測(cè)量(1)式等號(hào)右邊各個(gè)物理量,楊氏模量y便可求得。拉力F、金屬絲長(zhǎng)度L和金屬絲直徑d都可用一般方法測(cè)量得到。金屬絲伸長(zhǎng)量ΔL變化微小,一般工具無法測(cè)量準(zhǔn)確,本實(shí)驗(yàn)采用光杠桿法測(cè)定,其原理如下:
圖1 光杠桿系統(tǒng)的放大原理圖
(2)
F為標(biāo)尺刻度變化Δh時(shí)相應(yīng)的拉力。
Matlab軟件有強(qiáng)大的計(jì)算和繪圖功能,通過GUI實(shí)現(xiàn)數(shù)據(jù)的交互式顯示,可以直接在界面上輸入和改變參數(shù),將結(jié)果快速、準(zhǔn)確的顯示出來[7-9]。本論文分別采用逐差法和最小二乘法來處理實(shí)驗(yàn)數(shù)據(jù)。
GUI程序運(yùn)行流程如圖2所示。
圖2 GUI界面程序運(yùn)行流程圖
GUI是Matlab圖形用戶操作界面,通過在Matlab軟件主頁(yè)-新建-圖形用戶界面,打開Guide設(shè)計(jì)界面模板,或者直接在命令行窗口輸入“guide”[10]。GUI可將開發(fā)好的圖形交互界面保存在一個(gè).fig文件中,同時(shí)還生成了與之同名的.m 文件,使用該文件可實(shí)現(xiàn)界面各種對(duì)象(如文本框、控件等)的函數(shù)回調(diào),通過運(yùn)行.m文件或生成的.fig文件,導(dǎo)入測(cè)量數(shù)據(jù),輸入相關(guān)的參數(shù),可將計(jì)算結(jié)果顯示出來。
首先,采用2個(gè)切換按鈕來控制頁(yè)面顯示逐差法界面Uipanel或最小二乘法界面Uipanel(如圖3、圖4所示),在兩個(gè)Uipanel中設(shè)計(jì)草圖并編排表格、文本框、按等控件的布局,設(shè)置界面各控件的屬性(如設(shè)置各控件的標(biāo)識(shí)(Tag)、顏色、字體等)。把實(shí)驗(yàn)數(shù)據(jù)記錄在Excel表格中,通過Uigetfile語句將數(shù)據(jù)導(dǎo)入界面的表格Uitable中,將保存數(shù)據(jù)的Excel文件與Matlab軟件的.fig和.m等計(jì)算文件放在同一個(gè)目錄中。
圖3 逐差法界面及數(shù)據(jù)處理結(jié)果
圖4 最小二乘法界面及數(shù)據(jù)處理結(jié)果
然后通過對(duì)控件的Callback(回調(diào)函數(shù))代碼的設(shè)計(jì),計(jì)算金屬絲的楊氏彈性模量和相對(duì)誤差、絕對(duì)誤差?;卣{(diào)函數(shù)是對(duì)界面對(duì)象觸發(fā)時(shí)的響應(yīng)函數(shù),通過編輯回調(diào)函數(shù)來解決所有的數(shù)據(jù)處理。通過按鈕組“參數(shù)輸入”輸入直接測(cè)量的金屬絲長(zhǎng)度L,光杠桿臂長(zhǎng)D和鏡面與標(biāo)尺距離R值,點(diǎn)擊“計(jì)算楊氏彈性模量”控件,結(jié)果顯示在按鈕組“結(jié)果輸出”。最后的計(jì)算結(jié)果顯示在圖3中,楊氏模量y=1.96×1011N/m2,相對(duì)不確定度為2.3%,不確定度為0.05×1011N/m2。
本文基于Matlab GUI設(shè)計(jì)了拉伸法測(cè)楊氏彈性模量實(shí)驗(yàn)的數(shù)據(jù)處理軟件,應(yīng)用逐差法和最小二乘法實(shí)現(xiàn)對(duì)測(cè)量數(shù)據(jù)進(jìn)行平均值和不確定度等的計(jì)算功能,求得了楊氏模量值及其誤差。相較于傳統(tǒng)實(shí)驗(yàn),本文采用Matlab GUI設(shè)計(jì)數(shù)據(jù)處理過程,允許實(shí)驗(yàn)者通過GUI界面導(dǎo)入實(shí)驗(yàn)數(shù)據(jù)和改變測(cè)量參數(shù),應(yīng)用最小二乘法擬合曲線并繪制出擬合直線圖,編輯程序計(jì)算出楊氏模量值及其不確定度,可視化地輸出了計(jì)算結(jié)果。