金華
【摘 要】非線性曲線擬合是大學(xué)物理實(shí)驗(yàn)數(shù)據(jù)處理中的一個(gè)重要環(huán)節(jié)。本文以鎢絲燈泡伏安特性的研究為例,具體說明了Matlab函數(shù)nlinfit在大學(xué)物理實(shí)驗(yàn)非線性曲線擬合中的應(yīng)用。
【關(guān)鍵詞】鎢絲燈泡;伏安特性;非線性擬合;大學(xué)物理實(shí)驗(yàn)
中圖分類號(hào): J905 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2017)20-0081-001
Application of Matlab Nonlinear Fitting in College Physics Experiment
JIN hua
(Department of Arts and Science, Shanghai Institute of Electrical Engineering,Shanghai 201306,China)
【Abstract】Nonlinear curve fitting is an important part of university physics experiment data processing. In this paper, the study of the volt-ampere characteristics of tungsten filament lamp is taken as an example to illustrate the application of the Matlab function nlinfit in the nonlinear curve fitting of university physics experiment.
【Key words】Tungsten wire bulb;Volt-ampere characteristics;Nonlinear fitting;University physics experiment
0 引言
在大學(xué)物理實(shí)驗(yàn)中,對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行非線性擬合是培養(yǎng)學(xué)生科學(xué)實(shí)驗(yàn)?zāi)芰Φ闹匾w現(xiàn)。傳統(tǒng)教學(xué)要求學(xué)生將物理量之間的非線性關(guān)系,通過變量代換轉(zhuǎn)化成線性關(guān)系,在毫米方格紙上進(jìn)行線性擬合,確定直線的斜率和截距,從而求出擬合參數(shù)[1]。近年來,借助軟件的輔助計(jì)算,對(duì)實(shí)驗(yàn)曲線進(jìn)行擬合,受到實(shí)驗(yàn)教學(xué)的重視[2,3]??茖W(xué)計(jì)算軟件Matlab在其統(tǒng)計(jì)工具箱中,基于高斯—牛頓法,使用nlinfit函數(shù),可對(duì)數(shù)據(jù)進(jìn)行最小二乘的非線性擬合[4]。該方法若應(yīng)用于大學(xué)物理實(shí)驗(yàn)非線性曲線的擬合,可避免傳統(tǒng)方法曲線改直的中間處理過程,直接得到擬合參數(shù),顯著提高數(shù)據(jù)處理的效率,且具有精度高的特點(diǎn)。本文在介紹nlinfit函數(shù)的使用方法的基礎(chǔ)上,利用nlinfit函數(shù)對(duì)非線性電學(xué)元件鎢絲燈泡的伏安特性曲線進(jìn)行擬合,以此體現(xiàn)Matlab非線性擬合在大學(xué)物理實(shí)驗(yàn)數(shù)據(jù)處理中所具有的優(yōu)勢。
1 Matlab函數(shù)nlinfit簡介
Matlab統(tǒng)計(jì)工具箱中非線性擬合函數(shù)nlinfit基本的使用語法如下:
[para,r,J]=nlinfit(x,y,fun,para0,option)
這里,x和y代表需要擬合的自變量和應(yīng)變量;fun為自定義的含有擬合參數(shù)的函數(shù);para0為擬合參數(shù)的初值;option為高斯—牛頓法迭代擬合的相關(guān)選項(xiàng);返回值para、r和J分別表示計(jì)算得到的擬合參數(shù)、殘差和雅可比矩陣。有了para、r和J之后,可以通過函數(shù)nlpredci和nlparci進(jìn)一步計(jì)算y擬合值和相應(yīng)擬合參數(shù)的置信區(qū)間及誤差。也可以利用mse和mae等函數(shù)通過殘差r來評(píng)估擬合的精度和誤差。nlinfit及其相關(guān)函數(shù)的具體使用可參見文獻(xiàn)[4]和Matlab軟件的幫助文件。
2 大學(xué)物理實(shí)驗(yàn)教學(xué)中的一個(gè)實(shí)例
非線性電學(xué)元件的電阻會(huì)隨著電流I和兩端電壓U的變化而變化。若以I為自變量,U為應(yīng)變量作出伏安特性曲線,通過擬合U和I的非線性函數(shù)關(guān)系,電阻便可以利用求導(dǎo)R=dU/dI求得。以大學(xué)物理實(shí)驗(yàn)中鎢絲燈泡伏安特性的研究為例[1],某次實(shí)驗(yàn)測得一鎢絲燈泡兩端的電壓U為{1,2,3,4,5,6, 7,8,9,10}(V)時(shí),通過的電流I分別為{19.18,26.72, 33.15,39.02,44.31,48.51,53.39,57.73,61.71,65.4}(mA)。在一定的電流范圍內(nèi),其電壓和電流的關(guān)系可表示成二參數(shù)的單項(xiàng)式形式[1],即U=KIn,其中K和n為與燈泡有關(guān)的擬合參數(shù)。下面給出nlinfit擬合該非線性函數(shù)的過程:
先建立需要擬合的函數(shù)的m文件fun.m:
function y=fun(para,x)
K=para(1);n=para(2);%K,n為擬合參數(shù)
y=K*x.^n;%擬合函數(shù)的表達(dá)式
函數(shù)nlinfit擬合過程和誤差評(píng)估存入m文件test.m,代碼如下:
U=[1 2 3 4 5 6 7 8 9 10];%電壓值
I=[19.18 26.72 33.15 39.02 44.31 48.51 53.39
57.73 61.71 65.4]*1e-3;%電流值
para0=[1 1];%高斯—牛頓法迭代時(shí)擬合參數(shù)的初始值
option=statset('MaxIter',1000);%設(shè)置迭代的最大次數(shù)為1000
[para,r,J]=nlinfit(I,U,'fun',para0,option);% nlinfit函數(shù)擬合
II=0.015:0.001:0.07;%電流II從0.015A變化到0.07A
UU=fun(para,II);%計(jì)算擬合參數(shù)下電流II對(duì)應(yīng)的電壓值UUendprint
plot(I,U,'r+',II,UU,'b-');%實(shí)驗(yàn)值與擬合曲線比較
title('鎢絲燈泡伏安特性曲線擬合');
legend('實(shí)驗(yàn)值','擬合',2);
xlabel('I(A)');
ylabel('U(V)');
E1=mse(r);%計(jì)算擬合數(shù)據(jù)的均方誤差;
E2=mae(r);%計(jì)算擬合數(shù)據(jù)的平均絕(下轉(zhuǎn)第20頁)(上接第81頁)對(duì)誤差;
圖1 鎢絲燈泡伏安特性曲線擬合
執(zhí)行test.m的代碼后,擬合效果見圖1中的擬合1曲線。查看Matlab的變量輸出,擬合參數(shù)K和n的數(shù)值分別為1293.4、1.7822,擬合數(shù)據(jù)的均方誤差E1和平均絕對(duì)誤差E2的數(shù)值分別為0.0033、0.0402。
考慮到n的數(shù)值接近2,可采用二次多項(xiàng)式對(duì)上述伏安特性曲線進(jìn)行擬合比較。擬合的函數(shù)的m文件fun.m可改寫成:
function y=fun(para,x)
c0=para(1); c1=para(2); c2=para(3);
y=c0+c1*x+c2*x.^2 %c0、c1和c2為二次多項(xiàng)式的擬合參數(shù)
將代碼test.m中的para0的值設(shè)為[1 1 1],plot命令中的線型設(shè)為b--,并執(zhí)行代碼,擬合效果見圖1中的擬合2曲線。計(jì)算得到的擬合參數(shù)c0、c1和c2分別為-0.74191、60.144、1588.6,E1和E2的數(shù)值為0.0011、0.0219。顯然二次多項(xiàng)式擬合的誤差要小于二參數(shù)的單項(xiàng)式擬合,擬合效果更佳。
3 結(jié)語
利用Matlab擬合函數(shù)nlinfit對(duì)大學(xué)物理實(shí)驗(yàn)中的非線性曲線進(jìn)行擬合可以直接給出擬合參數(shù),比毫米方格紙上曲線改直進(jìn)行擬合的傳統(tǒng)方法更為簡單精準(zhǔn),具有效率高的優(yōu)勢。本文的數(shù)值研究還發(fā)現(xiàn),對(duì)于鎢絲燈泡的伏安特性曲線用二次多項(xiàng)式擬合要比二參數(shù)的單項(xiàng)式擬合精度更高,可在實(shí)際的實(shí)驗(yàn)數(shù)據(jù)處理時(shí)加以考慮。
【參考文獻(xiàn)】
[1]楊黨強(qiáng),吳綱,金亞平.大學(xué)物理實(shí)驗(yàn)[M].北京:中國電力出版社,2009.
[2]段越瑩,董雁飛.利用Origin8.0軟件簡化大學(xué)物理實(shí)驗(yàn)數(shù)據(jù)的處理[J].大學(xué)物理實(shí)驗(yàn),2013,26(3):91-95.
[3]田亞蘭.MATLAB擬合函數(shù)在大學(xué)物理實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用[J].甘肅科技,2015,31(7):64-66.
[4]蘇金明,阮沈勇.MATLAB6.1實(shí)用指南(下冊)[M].北京:電子工業(yè)出版社,2002.endprint