摘 要:針對Pt100熱電阻溫度-電阻計算問題,以二分法為參照,詳細分析牛頓法的應用特性,在VC 6.0編程環(huán)境下對比2種方法的程序結(jié)構(gòu)、計算復雜性、絕對計算精度以及相對運行速度。結(jié)果表明,在相同的精度約束下,牛頓法計算復雜性小、計算精度高、誤差較??;相對運行速度牛頓法要快4倍以上。說明在Pt100鉑熱電阻溫度計算中,牛頓法不失為一個較好的選擇。
關(guān)鍵詞:Pt100熱電阻;牛頓法;二分法;特性分析
中圖分類號:TN304 文獻標識碼:B
文章編號:1004-373X(2008)06-146-03
Application Characteristic Analysis of Newton Method in Temperature
Computation of Pt100 Platinum Resistor
ZHANGLi 2,JIANG Jianguo1
(1.Xidian University,Xi′an,710071,China;2.Shaanxi Post and Telecommunication College,Xianyang,712000,China)
Abstract:An analysis of temperature-resistance computation algorithm of Pt100 platinum resistor is discussed.Based on the comparison of the Dichotomy method,programming structure,computing complexity,absolute accuracy and relative operating speed of the Newton method are analyzed in detail.Results show that,at the same accuracy constraint,the Newton method has smaller computation complexity,higher accuracy,lower calculation error and faster operation speed than the Dichotomy method.Therefore,the Newton method is a appropriate algorithm for the temperature computation of Pt100 platinum resistor.
Keywords:Pt100 platinum resistor;Newton method;dichotomy method;characteristic analysis
1 概 述
Pt100 鉑熱電阻通常和顯示儀表、記錄儀表、電子計算機等配套使用,可直接測量各種生產(chǎn)過程中的-200 ℃~850 ℃范圍內(nèi)液體、蒸汽和氣體介質(zhì)以及固體表面溫度。Pt100 鉑電阻具有抗震性能好、測溫范圍廣、測量精度高、機械強度高、耐壓性能好等特點,且電阻率較大,其電阻Rt與溫度t的關(guān)系為正比例系數(shù)的單調(diào)函數(shù),實際測量中有良好的重復性。因此其工業(yè)應用非常廣泛。
在使用Pt100鉑熱電阻進行溫度計算的應用時,已知溫度t計算出電阻值Rt的函數(shù)Rt(t)已經(jīng)存在,參見文獻[1];然而,在實際工程項目中,一般是測量得到電阻值Rt,需要經(jīng)過換算得到與之對應的溫度值t,也就是需要求解Rt(t)的反函數(shù)。通常有數(shù)值和解析2類方法,而數(shù)值法在工控計算中得到了廣泛應用,因此,詳細分析Pt100鉑熱電阻溫度數(shù)值算法的計算特性,具有重要的應用意義。
本文針對Pt100熱電阻計算,采用牛頓法,在C語言編程環(huán)境下解決了Rt-t關(guān)系計算問題。為了探討該方法的應用特點,以二分法為參照,在程序結(jié)構(gòu)、計算復雜性、絕對計算精度、以及相對運行速度等方面進行詳細的對比分析。
2 Pt100鉑熱電阻溫度計算
2.1 計算關(guān)系式
根據(jù)文獻[1],由溫度計算阻值的公式如式(1)所示:
Rt=R0(1+At+Bt2+C(t-100)t3),t∈[-200,0]
R0(1+At+Bt2),t∈(0,850](1)
式(1)中,參數(shù):R0=100.00 Ω;A=3.908 02 ×10-3℃-1,B=- 5.80 2 ×10-7 ℃-2;C=-4.273 50×10-12℃-4。
從式(1)可以看出,已知Rt計算t分為2段。在t∈ (0,850]區(qū)間,是一元二次方程求根問題,有解析關(guān)系式的定解,不是本文探討的關(guān)鍵;而在t∈[-200,0]區(qū)間,已知Rt求t,是一元四次方程求根問題。
理論上,一元四次方程可以有解析解,但解析推導過程較為復雜,同時還需要在多個根中排除復根,以及判斷合理的實根等。本文采用數(shù)值方法(以牛頓法為代表)來解決該區(qū)間四次多項式的求根問題。
一般來說,用數(shù)值方法進行多項式求根,大致需要3個步驟:
(1)判定根的存在性;
(2)確定根的分布范圍,即將每一個根用區(qū)間隔離開;
(3)根的精確化,即根據(jù)根的初始近似值按某種方法逐步精確化,直至滿足預先要求的精度為止。
一般的多項式,判定其根的存在性需要證明。而在這個問題中,由其特定的工程物理背景,這里可以肯定,在[-200,0] 和(0,850]兩個區(qū)間內(nèi),實根是確定存在的。
根據(jù)式(1),得到f(t):
f(t) = t4-100t3 + BCt2 + ACt + 1C(1-RtR0 )(2)
其中,參數(shù)R0,A,B,C與式(1)相同。則已知Rt求t的問題,轉(zhuǎn)化為求f(t)=0的方程求根問題。方程求根常用的數(shù)值計算方法,有二分法、切線法(牛頓法)和弦截法等。
2.2 二分法和牛頓法的計算過程分析
2.2.1 二分法的計算步驟
二分法的計算步驟為:
(1) 輸入有根區(qū)間的端點a,b及預先給定的精度ε;
(2)(a + b) /2 賦予x;
(3)若f(a)f(x)<0,則x賦予b,轉(zhuǎn)向(4);否則x賦予a,轉(zhuǎn)向(4)。
(4)若b-a<ε,則輸出方程滿足精度的根x,結(jié)束;否則轉(zhuǎn)向(2)。
2.2.2 牛頓法的計算步驟
牛頓法的計算步驟為:
(1) 給出初始近似根x0及精度ε;
(2) 計算x0-f(x0)f′(x0)=x1;
(3) 若|x1-x0|<ε,則轉(zhuǎn)向(4);否則x1賦予x0,轉(zhuǎn)向(2);
(4) 輸出滿足精度的根x1,結(jié)束。
牛頓法的特點是計算函數(shù)必須可導,需要計算導數(shù),由(2)可得:
f′(x)=4x3-300x2+2BCx+AC(3)
能夠滿足牛頓法應用的要求。
3 牛頓法與二分法計算特性分析
3.1 程序結(jié)構(gòu)
從流程圖(見圖1)可以看出,二分法算出一個滿足精度要求的解,需要在給定的區(qū)間內(nèi),取中點計算x對應的f(x),滿足精度要求就可結(jié)束,編程實現(xiàn)比較容易。牛頓法需要先求函數(shù)的導數(shù)。對有的問題來講,原函數(shù)可能不可導,或者求導之后,導數(shù)更復雜,不便于編程實現(xiàn)。本項目中求導之后的Rt ~ t兩者之間的導數(shù)關(guān)系式見式(3),比原函數(shù)簡單,編程實現(xiàn)是可行的??偟膩碚f,2種方法的程序結(jié)構(gòu)相當。
3.2 計算復雜性分析
根據(jù)圖1,要達到求解問題限定的精度,需要迭代一定的次數(shù)。一般來說,在相同的精度約束下,算法的迭代次數(shù)越少,算法的應用特性越好。
圖1 二分法與牛頓法的流程圖
本文根據(jù)圖1,在VC 6.0環(huán)境下,設計計算程序,并根據(jù)程序運行實際結(jié)果,分析牛頓法與二分法的迭代情況。在溫度t的[-200,0]區(qū)間,采用相同的精度ε約束,每0.1度取一組t,Rt數(shù)據(jù)點進行檢驗計算,統(tǒng)計兩種方法所需的最大迭代次數(shù)。統(tǒng)計結(jié)果如表1所示。
表1 計算精度ε與數(shù)值計算最大迭代次數(shù)關(guān)系
從表1的對比可以看出,牛頓法用較少的次數(shù)(最大4次)迭代,就能夠達到需要的精度;并且算法性能穩(wěn)定,對計算精度ε的變化不敏感。而二分法所用的最大迭代次數(shù)較多,而且隨著精度的提高,最大迭代次數(shù)顯著增加。
3.3 絕對計算精度分析
衡量一個算法是否準確,計算精度是非常重要的約束條件。在同等量級的精度ε約束下,近似根的實際誤差按算法不同而有實際差異,計算精度高的算法有更好的實用價值。
以前述程序為準,在溫度t的[-200,0]區(qū)間,每0.1 ℃取一組t,Rt數(shù)據(jù)點,在相同的精度ε=1×10-3約束下計算,分析2種方法的最大誤差。
對結(jié)果選取有代表性的部分數(shù)據(jù)點,進行圖2所示的對比。
圖2 精度誤差分析圖
從精度誤差分析可以看出,在相同的精度約束下,牛頓法的誤差非常小,圖2中所列出的是數(shù)據(jù)點中,牛頓法誤差較明顯的部分數(shù)據(jù),誤差基本都在1×10-11量級,比給定的ε=1×10-3低7個量級,精度特性非常好;與之相比,二分法的誤差雖然滿足ε約束,但幾乎處于同一量級(圖見約0.8×10-3,與1×10-3的ε非常接近);同時,二分法相鄰數(shù)據(jù)點的誤差,分列于正負兩側(cè),呈現(xiàn)明顯的鋸齒形振蕩。
3.4 相對運行速度比較
衡量一個算法是否優(yōu)秀,運行速度是必不可少的判定條件。運行速度快的算法有更高的實用價值。以二分法為參照,分析牛頓法的運行速度,有很大實用意義。
同樣以前述程序為基礎,在t的[-200,0]區(qū)間,均勻抽取數(shù)據(jù)點,限定精度ε,完成同樣次數(shù)的循環(huán)(2 000 000次),記錄運行時間,得到結(jié)果如表2所示。
表2 相對運行速度比較
從速度比較看出,在相同的精度要求下,牛頓法程序運行時間明顯少于二分法;隨著精度要求的提高,牛頓法所需時間變化不明顯,而二分法所需時間則明顯變長。計算精度ε越高,二分法的運行時間越長。二分法所需時間至少是牛頓法的4倍以上。
牛頓法每次迭代,需要完成約22次浮點乘法和9次加法。而二分法的1次迭代需要完成約25次浮點乘法和11次加法。從單次迭代的計算量來看,二分法稍多,但區(qū)別不大。然而,由于算法本身的特性,二分法迭代次數(shù)的比牛頓法多4倍以上,導致二分法實際用時要比牛頓法長很多。
4 結(jié) 語
一元多次方程的求解問題在實際使用中非常普遍。根據(jù)阿貝爾定理,5次及更高次的代數(shù)方程沒有一般的代數(shù)解法,這樣的方程,不能由方程的系數(shù)經(jīng)過有限次四則運算和開方運算求根。也就是說,在工程運算中,解析法難以求解5次以上的高次方程,這時,數(shù)值求根就成了工程技術(shù)人員的第一選擇。二分法和牛頓法作為基本的計算機編程方法,他們的特點比較明顯。二分法對函數(shù)要求較低,在所求區(qū)間只要確證有根,就能以很穩(wěn)定的速度在不斷減小的區(qū)間找到滿足精度要求的近似解。而牛頓法雖然要比二分法優(yōu)異很多,但要求函數(shù)必須可導。當導函數(shù)要比函數(shù)本身簡單時,牛頓法能快速準確地計算出高精度的近似解。
本文針對Pt100鉑熱電阻溫度計算問題,以二分法為參照,詳細分析了牛頓法的應用特性。結(jié)果表明,在相同的精度約束下,牛頓法計算復雜性小、計算精度高、誤差較小;相對運行速度牛頓法要快4倍以上。這反映出在Pt100鉑熱電阻溫度計算中,牛頓法是一個較好的選擇。
參考文獻
[1]李吉林.90 國際溫標常用熱電偶、熱電阻分度表[M].北京:中國計量出版社,1998.
[2]國家計量總局.計量器具檢定規(guī)程匯編(溫度部分)[M].北京:國家計量總局,1983.
[3]錢煥延.計算方法\\[M\\].西安:西安電子科技大學出版社,2006.
[4]韋以明.電橋溫度計的實驗研究\\[J\\].現(xiàn)代電子技術(shù),2007,30(4):28-31.
[5]吳本科,肖蘇,謝莉莎.蔡氏電路中電感阻耗對混沌現(xiàn)象的影響\\[J\\].現(xiàn)代電子技術(shù),2005,28(10):97-99.
[6]傅民倉,馮立杰,袁俊飛.基于PIC單片機的熱敏電阻數(shù)字化方法\\[J\\].現(xiàn)代電子技術(shù),2006,29(5):76-78.
作者簡介 張 莉 女,1974年出生,漢族,陜西眉縣人,陜西郵電職業(yè)技術(shù)學院教師,講師,西安電子科技大學在讀碩士研究生。研究方向為計算機網(wǎng)絡、計算機應用。
姜建國 男,1956年出生,漢族,陜西渭南人,西安電子科技大學教授,碩士生導師。研究方向為計算機輔助設計和圖形圖像處理技術(shù)、網(wǎng)絡技術(shù)等。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。