牛顿法与解析法在Pt100铂热电阻温度计算中的特性分析

时间:2022-09-09 05:08:30

牛顿法与解析法在Pt100铂热电阻温度计算中的特性分析

摘 要:针对Pt100铂热电阻温度计算问题,详细分析了牛顿法与解析法的应用特性,在VC 6.0编程环境下对比了两种方法的绝对计算精度以及相对运行速度。结果表明,牛顿法的计算精度高,误差较小,运行速度快。解析法虽无模型误差,但实际数值的计算误差较大,且运算速度较慢,相比而言,牛顿法是较好的选择。使用牛顿法解决铂热电阻的温度计算问题,在工业控制领域具有广泛的应用价值。

关键词:Pt100热电阻; 牛顿法; 解析法; 特性分析

中图分类号:TP212.11; TP301.6 文献标识码:A

文章编号: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 铂热电阻通常和显示仪表、记录仪表、电子计算机等配套使用,可直接测量各种生产过程中-200~+850 ℃范围内的液体、蒸汽和气体介质以及固体表面温度。Pt100 铂电阻具有抗震性能好,测温范围广,测量精度高,机械强度高,耐压性能好等特点,且电阻率较大,电阻Rt与温度t的关系为正比例系数的单调函数,实际测量中有良好的重复性,因此在工业应用非常广泛。

在使用Pt100 铂热电阻进行温度计算时,由温度t求电阻值Rt的公式已经存在,参见文献[1]。然而工程应用中,一般用测量得到电阻值Rt,通过反解t-Rt的公式找到与之对应的温度值t,从而实现温度测量。现代化温控系统一般都采用以计算机为核心的自动系统,这些系统中具体的计算算法需要通过编程语言实现(一般是C语言)。通常,Pt100铂热电阻由Rt求t的方法有解析法、数值法两大类。解析法的公式,文献[2]已经给出,该公式在计算机编程实现中的具体计算特性有待研究。文献[3]比较了牛顿法和二分法两种数值方法在处理铂热电阻温度计算问题中的特性,说明牛顿法在该问题的解决方面具有优良的特性。本文侧重于探讨牛顿法、解析法的计算特性,对二者的精度和求解速度给出分析。

一般认为,基于数学解析的算法没有理论误差,多数情况下是较为理想的方法,但无论何种算法,在计算机编程实现中,数值计算的误差均不可避免,有时甚至会显著到成为一个问题。

本文针对Pt100热电阻的相关计算,分别采用牛顿法和解析法,在VC 6.0编程环境下解算问题,比较了二者的求解精度和速度,发现解析法在数值计算过程中呈现了较为显著的数值误差,在精度和求解速度上都落后于牛顿法。以下给出具体分析。

1 Pt100铂热电阻温度计算

1.1 计算关系式

根据文献[1],由温度计算阻值的公式如下:

Rt=R0(1+At+Bt2+C(t-100)t3),

t∈[-200,0]

R0(1+At+Bt2),t∈(0,850]

(1)

式中:参数R0=100.00 Ω(0 ℃时的标准电阻);A=3.908 02×10-3 ℃-1;B=- 5.802×10-7 ℃-2;C=-4.273 50×10-12 ℃-4。

从式(1)可以看出,已知Rt计算t分为两段。在t∈(0,850]区间,是一元二次方程求根问题,其解析关系式的定解公式比较简单,不是本文探讨的关键;而在t∈[-200,0]区间,已知Rt求t,是一元四次方程求根问题。

一元四次方程可以有解析解,一般会有4个根(含复数形式的根),根据文献[4],式(1)的实根解析表达式为:

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。

其中:参数R0,A,B,C与式(1)相同。

为了检验解析法算法程序的计算特性,本文在VC 6.0编程环境下,按照上述公式实现了解析法的计算步骤,再对比数值方法(以牛顿法为代表)来分析两种方法的精度和速度。

需要说明的是,由于VC 6.0编程环境下的标准数学库中没有求立方根的函数,而u0的表达式又是求表达式的立方根,因此,可选的替代方法分别是采用求1/3次幂或通过对数/指数函数来实现求立方根的运算。

以下简单分析用数值方法解决该问题的要点。

一般来说,用数值方法进行多项式求根,大致需要三个步骤:

(1) 判定根的存在性;

(2) 确定根的分布范围,即将每一个根用区间隔离开来;

(3) 根的精确化,即根据根的初始近似值,按某种方法逐步精确化,直至满足预先要求的精度为止。

一般的多项式,判定其根的存在性是需要证明的。而在这个问题中,由其特定的工程物理背景可以肯定,在[-200,0] 和(0,850]两个区间内,实根是确实存在的。

根据式(1)可得:

f(t) = t4-100t3 + BCt2 + ACt + 1C1-RtR0

(3)

式中:参数R0,A,B,C与式(1)相同。

则已知Rt求t的问题,转化为求f(t)=0的方程根问题。

1.2 牛顿法和解析法的计算过程分析

1.2.1 牛顿法的计算步骤

(1) 给出初始近似根x0及精度ε。

(2) 计算

x0-f(x0)f′(x0)=x1

(3) 若|x1-x0|

(4) 输出满足精度的根x1,结束。

牛顿法的特点是计算函数必须可导,需要计算导数,由(3)可得:

f′(x)=4x3-300x2+2BCx+AC

(4)

能够满足牛顿法应用的要求。

1.2.2 解析法的计算步骤

根据式(2),计算步骤如下:

(1) 已知R0,Rt,A,B,C求出a,b,c,d;

(2) 根据a,b,c,d 求出p,q;

(3) 根据p,q,b求出u0;

(4) 根据a,b,d,u0求出m′,n′;

(5) 根据m′,n′求解t。

解析法根据式(2)求解出对应的温度值,理论上没有模型误差,当然,解析法在程序运算中,仍不可避免会有数值计算误差,下文将进行定量分析。

2 牛顿法与解析法计算特性分析

2.1 误差对比

计算误差是评价算法实现特性的重要条件。

在温度t∈[-200,0]区间,分析牛顿法精度ε设定为1×10-6时的计算结果,与解析法计算结果进行对比,分析两种方法的最大误差。通过在该区间均匀抽取100个数据点,在这些数据点上比较两种算法的绝对误差,得到图1。

从图1可以看出,牛顿法的绝对误差非常小,图中所列出的数据点,即使是误差较大的部分,也集中在1×10-10量级,比数值算法的基本约束精度ε=1×10-3低7个量级,精度特性非常好。

与之相比,解析法虽然没有模型误差,但数值计算误差比较显著,在t=-200位置,误差达到4.1×10-1,之后慢慢减小。从原始数据分析,牛顿法的最大绝对误差是2.5×10-10,解析法的最大绝对误差为4.1×10-1。从最大绝对误差来看,解析法是牛顿法的1.64×109倍(4.1×10-1 / 2.5×10-10= 1.64×109 )。

因此,解析法求得的数据点,在[-200,0]区间整体误差较大,其最大数值计算误差比牛顿法高9个量级。

图1 误差比较图

牛顿法是数值算法,还可以通过调整精度约束ε来控制迭代计算的求解精度,而解析法是直接完成一系列公式的运算,既没有迭代过程,也没有类似牛顿法中ε这样一个能够控制精度的量,因此解析法的求解精度是不可控制的。

同时,由于解析法的误差来源是浮点计算的截断误差,这种误差是无法从根本上消除的。

2.2 相对运行速度比较

算法的运行速度也是一个很实用的评价指标,运行速度快的算法有更高的应用价值。解析法的程序流程是固定的,不存在循环和迭代,因此在运行环境不变的前提下,其运行速度也是固定的。然而,牛顿法的运行速度则受ε的影响,随着ε的变化,牛顿法的循环迭代次数会发生变化。

以解析法为参照,分析牛顿法在各种ε约束下的运行速度,并对二者进行了对比。

在t的[-200,0]区间,均匀抽取数据点,两种算法分别完成同样次数的循环,记录运行时间,得到结果如表1所示。

牛顿法求解时间虽受ε制约,但在表1所示的ε范围内,牛顿法的计算过程运行速度整体比解析法的速度快;随着计算精度ε的提高,牛顿法的运行时间会变长,但直到ε达到1×10-5时,解析法所需时间仍然比牛顿法长,是牛顿法的1.012 8倍。

表1 相对运行速度比较

精度ε

时间 /s

牛顿法解析法

运行时间之比

不同精度的牛顿法解析法与牛顿法比较

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

*注:解析法运行时间与ε无关。

解析法计算一个数据点,除了基本的浮点乘法、加法计算外(约40次乘法、20加法),还需要完成至少4次开平方、2次开立方计算,开平方、开立方都涉及函数调用,在一个计算流程中需要6次函数调用,这可能是程序执行速度较慢的主要原因。

相比之下,牛顿法一次迭代中,只需要计算约22次浮点乘法和9次加法,再加上在表1所示的4种ε条件下,计算一个数据点,最多迭代4次,整个计算过程不涉及任何数学函数调用,这可能是速度快的一个主要原因。

分析表明,解析法主要的浮点精度损失出现在计算u0的环节上,u0表达式需要求两个立方根之和,由于VC 6.0标准库中没有求立方根的函数,立方根计算只能通过求1/3次幂、或者通过对数/指数函数对来解决,由于浮点截断误差在幂函数等运算中的传播和扩展,使得解析法的计算温度无论采用何种编程方式,整体都呈现出了较大的数值误差。

3 结 语

通常解析方法是没有理论误差的,应当具有最好的计算精度。然而,在Pt100铂热电阻温度计算问题中,解析表达式虽无模型误差,却呈现出了较为明显的浮点误差,或者说在浮点计算过程中,精度损失比较显著。牛顿法则表现出了更高的求解精度、更低的计算误差,而且相对运行速度比解析法快。这表明在Pt100铂热电阻温度计算中,牛顿法是一个较好的选择。使用牛顿法进行Pt100铂热电阻温度的计算, 可以利用计算机得到快速精确的温度结果,因此在工业控制领域具有广泛的应用价值。

参考文献

[1]李吉林. 90国际温标:常用热电偶、热电阻分度表[M] . 北京:中国计量出版社,1998

[2]杨平,李志斌.常用热电阻的温度-阻值变换的解析计算\.传感器技术,2002,21(1):38-41.

[3]张莉,姜建国.牛顿法在Pt100铂热电阻温度计算中的应用特性分析\.现代电子技术,2008,31(6):146-148.

[4]国家计量总局.计量器具检定规程汇编(温度部分)[M].北京:中国计量出版社,1982.

[5]钱焕延.计算方法\.西安:西安电子科技大学出版社,2006.

[6]韦以明.电桥温度计的实验研究[J].现代电子技术,2007,30(4):28-31.

[7]吴光荣,章剑雄.基于ZigBee的高压开关柜无线温湿度监测系统\.现代电子技术,2008,31(20):169-171.

[8]刘振全,王汉芝.金属热电阻传感器在多路温度监控系统中的应用[J].传感器世界,2006(12):26-27.

[9]傅民仓,冯立杰,袁俊飞.基于PIC单片机的热敏电阻数字化方法[J].现代电子技术,2006,29(5):76-78.

[10]张志勇,辛长宇,朱玉龙,等.Pt100温度传感器非线性的补偿方法与电路实现[J].电子器件,2007,30(6):57-59.

[11]吴本科,肖苏,谢莉莎.蔡氏电路中电感阻耗对混沌现象的影响[J].现代电子技术,2005,28(10):97-99.

上一篇:基于OpenGL的语音控制数控加工仿真的研究 下一篇:一种系统登录加密新方法研究与实现