摘 要:針對(duì)Pt100鉑熱電阻溫度計(jì)算問(wèn)題,詳細(xì)分析了牛頓法與解析法的應(yīng)用特性,在VC 6.0編程環(huán)境下對(duì)比了兩種方法的絕對(duì)計(jì)算精度以及相對(duì)運(yùn)行速度。結(jié)果表明,牛頓法的計(jì)算精度高,誤差較小,運(yùn)行速度快。解析法雖無(wú)模型誤差,但實(shí)際數(shù)值的計(jì)算誤差較大,且運(yùn)算速度較慢,相比而言,牛頓法是較好的選擇。使用牛頓法解決鉑熱電阻的溫度計(jì)算問(wèn)題,在工業(yè)控制領(lǐng)域具有廣泛的應(yīng)用價(jià)值。
關(guān)鍵詞:Pt100熱電阻; 牛頓法; 解析法; 特性分析
中圖分類號(hào):TP212.11; TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)11-0135-03
Characteristic Analysis of Newton Method and Analytical Method in Temperature
Computation of Pt100 Platinum Resistor
ZHANG Li 1, DONG Yin-li2
(1. Shaanxi Post and Telecommunication College, Xianyang 712000, China;2. Xi’an Eurasia University, Xi’an 710065, China)
Abstract: The application characteristic of Newton method and analystic method is analyzed for the problem of temperature-resistance computation of Pt100 platinum resistor. The absolute accuracy and relative operating speed of both methods are compared under the condition of VC6.0 program. The results show that Newton method has higher calculation accuracy and faster operation speed than analytical method. Although analytical method has no any modeling error theoretically, it shows a severe numerical calculation error in practice. Therefore, Newton method is an appropriate algorithm for the temperature computation of Pt100 platinum resistor. It has a widely application value in the industry control domain.
Keywords: Pt100 platinum resistor; Newton method; analytical method; characteristic analysis
0 引 言
Pt100 鉑熱電阻通常和顯示儀表、記錄儀表、電子計(jì)算機(jī)等配套使用,可直接測(cè)量各種生產(chǎn)過(guò)程中-200~+850 ℃范圍內(nèi)的液體、蒸汽和氣體介質(zhì)以及固體表面溫度。Pt100 鉑電阻具有抗震性能好,測(cè)溫范圍廣,測(cè)量精度高,機(jī)械強(qiáng)度高,耐壓性能好等特點(diǎn),且電阻率較大,電阻Rt與溫度t的關(guān)系為正比例系數(shù)的單調(diào)函數(shù),實(shí)際測(cè)量中有良好的重復(fù)性,因此在工業(yè)應(yīng)用非常廣泛。
在使用Pt100 鉑熱電阻進(jìn)行溫度計(jì)算時(shí),由溫度t求電阻值Rt的公式已經(jīng)存在,參見(jiàn)文獻(xiàn)[1]。然而工程應(yīng)用中,一般用測(cè)量得到電阻值Rt,通過(guò)反解t-Rt的公式找到與之對(duì)應(yīng)的溫度值t,從而實(shí)現(xiàn)溫度測(cè)量?,F(xiàn)代化溫控系統(tǒng)一般都采用以計(jì)算機(jī)為核心的自動(dòng)系統(tǒng),這些系統(tǒng)中具體的計(jì)算算法需要通過(guò)編程語(yǔ)言實(shí)現(xiàn)(一般是C語(yǔ)言)。通常,Pt100鉑熱電阻由Rt求t的方法有解析法、數(shù)值法兩大類。解析法的公式,文獻(xiàn)[2]已經(jīng)給出,該公式在計(jì)算機(jī)編程實(shí)現(xiàn)中的具體計(jì)算特性有待研究。文獻(xiàn)[3]比較了牛頓法和二分法兩種數(shù)值方法在處理鉑熱電阻溫度計(jì)算問(wèn)題中的特性,說(shuō)明牛頓法在該問(wèn)題的解決方面具有優(yōu)良的特性。本文側(cè)重于探討牛頓法、解析法的計(jì)算特性,對(duì)二者的精度和求解速度給出分析。
一般認(rèn)為,基于數(shù)學(xué)解析的算法沒(méi)有理論誤差,多數(shù)情況下是較為理想的方法,但無(wú)論何種算法,在計(jì)算機(jī)編程實(shí)現(xiàn)中,數(shù)值計(jì)算的誤差均不可避免,有時(shí)甚至?xí)@著到成為一個(gè)問(wèn)題。
本文針對(duì)Pt100熱電阻的相關(guān)計(jì)算,分別采用牛頓法和解析法,在VC 6.0編程環(huán)境下解算問(wèn)題,比較了二者的求解精度和速度,發(fā)現(xiàn)解析法在數(shù)值計(jì)算過(guò)程中呈現(xiàn)了較為顯著的數(shù)值誤差,在精度和求解速度上都落后于牛頓法。以下給出具體分析。
1 Pt100鉑熱電阻溫度計(jì)算
1.1 計(jì)算關(guān)系式
根據(jù)文獻(xiàn)[1],由溫度計(jì)算阻值的公式如下:
Rt=R0(1+At+Bt2+C(t-100)t3),
t∈[-200,0]
R0(1+At+Bt2),t∈(0,850]
(1)
式中:參數(shù)R0=100.00 Ω(0 ℃時(shí)的標(biāo)準(zhǔn)電阻);A=3.908 02×10-3 ℃-1;B=- 5.802×10-7 ℃-2;C=-4.273 50×10-12 ℃-4。
從式(1)可以看出,已知Rt計(jì)算t分為兩段。在t∈(0,850]區(qū)間,是一元二次方程求根問(wèn)題,其解析關(guān)系式的定解公式比較簡(jiǎn)單,不是本文探討的關(guān)鍵;而在t∈[-200,0]區(qū)間,已知Rt求t,是一元四次方程求根問(wèn)題。
一元四次方程可以有解析解,一般會(huì)有4個(gè)根(含復(fù)數(shù)形式的根),根據(jù)文獻(xiàn)[4],式(1)的實(shí)根解析表達(dá)式為:
t=-m′-
m′2-4n′2,Rt≤R0
(2)
式中:
m′=a2-a24-b+u0;
n′= u0 2-u20 4-d;
a=-100;b=B/C;c=A/C;d=R0-RtCR0;
u0=3-q2+q22+p33+
3-q2-q22+p33+b3;
p=-b2/3+ac-4d;
q=2b227-13(4bd-abc)+a2d+4bd-c2。
其中:參數(shù)R0,A,B,C與式(1)相同。
為了檢驗(yàn)解析法算法程序的計(jì)算特性,本文在VC 6.0編程環(huán)境下,按照上述公式實(shí)現(xiàn)了解析法的計(jì)算步驟,再對(duì)比數(shù)值方法(以牛頓法為代表)來(lái)分析兩種方法的精度和速度。
需要說(shuō)明的是,由于VC 6.0編程環(huán)境下的標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)中沒(méi)有求立方根的函數(shù),而u0的表達(dá)式又是求表達(dá)式的立方根,因此,可選的替代方法分別是采用求1/3次冪或通過(guò)對(duì)數(shù)/指數(shù)函數(shù)來(lái)實(shí)現(xiàn)求立方根的運(yùn)算。
以下簡(jiǎn)單分析用數(shù)值方法解決該問(wèn)題的要點(diǎn)。
一般來(lái)說(shuō),用數(shù)值方法進(jìn)行多項(xiàng)式求根,大致需要三個(gè)步驟:
(1) 判定根的存在性;
(2) 確定根的分布范圍,即將每一個(gè)根用區(qū)間隔離開(kāi)來(lái);
(3) 根的精確化,即根據(jù)根的初始近似值,按某種方法逐步精確化,直至滿足預(yù)先要求的精度為止。
一般的多項(xiàng)式,判定其根的存在性是需要證明的。而在這個(gè)問(wèn)題中,由其特定的工程物理背景可以肯定,在[-200,0] 和(0,850]兩個(gè)區(qū)間內(nèi),實(shí)根是確實(shí)存在的。
根據(jù)式(1)可得:
f(t) = t4-100t3 + BCt2 + ACt + 1C1-RtR0
(3)
式中:參數(shù)R0,A,B,C與式(1)相同。
則已知Rt求t的問(wèn)題,轉(zhuǎn)化為求f(t)=0的方程根問(wèn)題。
1.2 牛頓法和解析法的計(jì)算過(guò)程分析
1.2.1 牛頓法的計(jì)算步驟
(1) 給出初始近似根x0及精度ε。
(2) 計(jì)算
x0-f(x0)f′(x0)=x1
。
(3) 若|x1-x0|<ε,則轉(zhuǎn)向(4),否則x1賦予x0,轉(zhuǎn)向(2)。
(4) 輸出滿足精度的根x1,結(jié)束。
牛頓法的特點(diǎn)是計(jì)算函數(shù)必須可導(dǎo),需要計(jì)算導(dǎo)數(shù),由(3)可得:
f′(x)=4x3-300x2+2BCx+AC
(4)
能夠滿足牛頓法應(yīng)用的要求。
1.2.2 解析法的計(jì)算步驟
根據(jù)式(2),計(jì)算步驟如下:
(1) 已知R0,Rt,A,B,C求出a,b,c,d;
(2) 根據(jù)a,b,c,d 求出p,q;
(3) 根據(jù)p,q,b求出u0;
(4) 根據(jù)a,b,d,u0求出m′,n′;
(5) 根據(jù)m′,n′求解t。
解析法根據(jù)式(2)求解出對(duì)應(yīng)的溫度值,理論上沒(méi)有模型誤差,當(dāng)然,解析法在程序運(yùn)算中,仍不可避免會(huì)有數(shù)值計(jì)算誤差,下文將進(jìn)行定量分析。
2 牛頓法與解析法計(jì)算特性分析
2.1 誤差對(duì)比
計(jì)算誤差是評(píng)價(jià)算法實(shí)現(xiàn)特性的重要條件。
在溫度t∈[-200,0]區(qū)間,分析牛頓法精度ε設(shè)定為1×10-6時(shí)的計(jì)算結(jié)果,與解析法計(jì)算結(jié)果進(jìn)行對(duì)比,分析兩種方法的最大誤差。通過(guò)在該區(qū)間均勻抽取100個(gè)數(shù)據(jù)點(diǎn),在這些數(shù)據(jù)點(diǎn)上比較兩種算法的絕對(duì)誤差,得到圖1。
從圖1可以看出,牛頓法的絕對(duì)誤差非常小,圖中所列出的數(shù)據(jù)點(diǎn),即使是誤差較大的部分,也集中在1×10-10量級(jí),比數(shù)值算法的基本約束精度ε=1×10-3低7個(gè)量級(jí),精度特性非常好。
與之相比,解析法雖然沒(méi)有模型誤差,但數(shù)值計(jì)算誤差比較顯著,在t=-200位置,誤差達(dá)到4.1×10-1,之后慢慢減小。從原始數(shù)據(jù)分析,牛頓法的最大絕對(duì)誤差是2.5×10-10,解析法的最大絕對(duì)誤差為4.1×10-1。從最大絕對(duì)誤差來(lái)看,解析法是牛頓法的1.64×109倍(4.1×10-1 / 2.5×10-10= 1.64×109 )。
因此,解析法求得的數(shù)據(jù)點(diǎn),在[-200,0]區(qū)間整體誤差較大,其最大數(shù)值計(jì)算誤差比牛頓法高9個(gè)量級(jí)。
圖1 誤差比較圖
牛頓法是數(shù)值算法,還可以通過(guò)調(diào)整精度約束ε來(lái)控制迭代計(jì)算的求解精度,而解析法是直接完成一系列公式的運(yùn)算,既沒(méi)有迭代過(guò)程,也沒(méi)有類似牛頓法中ε這樣一個(gè)能夠控制精度的量,因此解析法的求解精度是不可控制的。
同時(shí),由于解析法的誤差來(lái)源是浮點(diǎn)計(jì)算的截?cái)嗾`差,這種誤差是無(wú)法從根本上消除的。
2.2 相對(duì)運(yùn)行速度比較
算法的運(yùn)行速度也是一個(gè)很實(shí)用的評(píng)價(jià)指標(biāo),運(yùn)行速度快的算法有更高的應(yīng)用價(jià)值。解析法的程序流程是固定的,不存在循環(huán)和迭代,因此在運(yùn)行環(huán)境不變的前提下,其運(yùn)行速度也是固定的。然而,牛頓法的運(yùn)行速度則受ε的影響,隨著ε的變化,牛頓法的循環(huán)迭代次數(shù)會(huì)發(fā)生變化。
以解析法為參照,分析牛頓法在各種ε約束下的運(yùn)行速度,并對(duì)二者進(jìn)行了對(duì)比。
在t的[-200,0]區(qū)間,均勻抽取數(shù)據(jù)點(diǎn),兩種算法分別完成同樣次數(shù)的循環(huán),記錄運(yùn)行時(shí)間,得到結(jié)果如表1所示。
牛頓法求解時(shí)間雖受ε制約,但在表1所示的ε范圍內(nèi),牛頓法的計(jì)算過(guò)程運(yùn)行速度整體比解析法的速度快;隨著計(jì)算精度ε的提高,牛頓法的運(yùn)行時(shí)間會(huì)變長(zhǎng),但直到ε達(dá)到1×10-5時(shí),解析法所需時(shí)間仍然比牛頓法長(zhǎng),是牛頓法的1.012 8倍。
表1 相對(duì)運(yùn)行速度比較
精度ε
時(shí)間 /s
牛頓法解析法
運(yùn)行時(shí)間之比
不同精度的牛頓法解析法與牛頓法比較
1×10-20.947
1×10-31.035 6
1×10-41.091
1×10-51.139 2
1.153 8
0.947/0.947=11.153 8/0.947=1.218 4
1.035 6/0.947=1.093 61.153 8/1.035 6=1.114 1
1.091/0.947=1.152 11.153 8/1.091=1.057 6
1.139 2/0.947=1.2031.153 8/1.139 2=1.012 8
*注:解析法運(yùn)行時(shí)間與ε無(wú)關(guān)。
解析法計(jì)算一個(gè)數(shù)據(jù)點(diǎn),除了基本的浮點(diǎn)乘法、加法計(jì)算外(約40次乘法、20加法),還需要完成至少4次開(kāi)平方、2次開(kāi)立方計(jì)算,開(kāi)平方、開(kāi)立方都涉及函數(shù)調(diào)用,在一個(gè)計(jì)算流程中需要6次函數(shù)調(diào)用,這可能是程序執(zhí)行速度較慢的主要原因。
相比之下,牛頓法一次迭代中,只需要計(jì)算約22次浮點(diǎn)乘法和9次加法,再加上在表1所示的4種ε條件下,計(jì)算一個(gè)數(shù)據(jù)點(diǎn),最多迭代4次,整個(gè)計(jì)算過(guò)程不涉及任何數(shù)學(xué)函數(shù)調(diào)用,這可能是速度快的一個(gè)主要原因。
分析表明,解析法主要的浮點(diǎn)精度損失出現(xiàn)在計(jì)算u0的環(huán)節(jié)上,u0表達(dá)式需要求兩個(gè)立方根之和,由于VC 6.0標(biāo)準(zhǔn)庫(kù)中沒(méi)有求立方根的函數(shù),立方根計(jì)算只能通過(guò)求1/3次冪、或者通過(guò)對(duì)數(shù)/指數(shù)函數(shù)對(duì)來(lái)解決,由于浮點(diǎn)截?cái)嗾`差在冪函數(shù)等運(yùn)算中的傳播和擴(kuò)展,使得解析法的計(jì)算溫度無(wú)論采用何種編程方式,整體都呈現(xiàn)出了較大的數(shù)值誤差。
3 結(jié) 語(yǔ)
通常解析方法是沒(méi)有理論誤差的,應(yīng)當(dāng)具有最好的計(jì)算精度。然而,在Pt100鉑熱電阻溫度計(jì)算問(wèn)題中,解析表達(dá)式雖無(wú)模型誤差,卻呈現(xiàn)出了較為明顯的浮點(diǎn)誤差,或者說(shuō)在浮點(diǎn)計(jì)算過(guò)程中,精度損失比較顯著。牛頓法則表現(xiàn)出了更高的求解精度、更低的計(jì)算誤差,而且相對(duì)運(yùn)行速度比解析法快。這表明在Pt100鉑熱電阻溫度計(jì)算中,牛頓法是一個(gè)較好的選擇。使用牛頓法進(jìn)行Pt100鉑熱電阻溫度的計(jì)算, 可以利用計(jì)算機(jī)得到快速精確的溫度結(jié)果,因此在工業(yè)控制領(lǐng)域具有廣泛的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]李吉林. 90國(guó)際溫標(biāo):常用熱電偶、熱電阻分度表[M] . 北京:中國(guó)計(jì)量出版社,1998
[2]楊平,李志斌.常用熱電阻的溫度-阻值變換的解析計(jì)算\\.傳感器技術(shù),2002,21(1):38-41.
[3]張莉,姜建國(guó).牛頓法在Pt100鉑熱電阻溫度計(jì)算中的應(yīng)用特性分析\\.現(xiàn)代電子技術(shù),2008,31(6):146-148.
[4]國(guó)家計(jì)量總局.計(jì)量器具檢定規(guī)程匯編(溫度部分)[M].北京:中國(guó)計(jì)量出版社,1982.
[5]錢(qián)煥延.計(jì)算方法\\.西安:西安電子科技大學(xué)出版社,2006.
[6]韋以明.電橋溫度計(jì)的實(shí)驗(yàn)研究[J].現(xiàn)代電子技術(shù),2007,30(4):28-31.
[7]吳光榮,章劍雄.基于ZigBee的高壓開(kāi)關(guān)柜無(wú)線溫濕度監(jiān)測(cè)系統(tǒng)\\.現(xiàn)代電子技術(shù),2008,31(20):169-171.
[8]劉振全,王漢芝.金屬熱電阻傳感器在多路溫度監(jiān)控系統(tǒng)中的應(yīng)用[J].傳感器世界,2006(12):26-27.
[9]傅民倉(cāng),馮立杰,袁俊飛.基于PIC單片機(jī)的熱敏電阻數(shù)字化方法[J].現(xiàn)代電子技術(shù),2006,29(5):76-78.
[10]張志勇,辛長(zhǎng)宇,朱玉龍,等.Pt100溫度傳感器非線性的補(bǔ)償方法與電路實(shí)現(xiàn)[J].電子器件,2007,30(6):57-59.
[11]吳本科,肖蘇,謝莉莎.蔡氏電路中電感阻耗對(duì)混沌現(xiàn)象的影響[J].現(xiàn)代電子技術(shù),2005,28(10):97-99.