热电偶热电特性线性化数值分析方法的探讨与实现最小二乘法的应用(c)编程毕业论文.doc_第1页
热电偶热电特性线性化数值分析方法的探讨与实现最小二乘法的应用(c)编程毕业论文.doc_第2页
热电偶热电特性线性化数值分析方法的探讨与实现最小二乘法的应用(c)编程毕业论文.doc_第3页
热电偶热电特性线性化数值分析方法的探讨与实现最小二乘法的应用(c)编程毕业论文.doc_第4页
热电偶热电特性线性化数值分析方法的探讨与实现最小二乘法的应用(c)编程毕业论文.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

热电偶热电特性线性化数值分析方法的探讨与实现摘 要 为了改进智能仪表中处理器的运算速度和精度,本文提出了一种分段拟合多项式的数值分析方法,并使用C+完成程序的编写与仿真。这种方法生成的热电偶的温度t与热电势E的反函数的多项式的阶数较低,系数少,且由此多项式得到的测量值T和理论值t的差值在-0.2到0.2之间,适用于智能仪表中微处理器的温度计算及测量显示。使用这种数值分析方法可以在很大程度上提高智能仪表的性能。 关键词:精度;数值分析;热电偶;多项式AbstractIn order to improve the computation speed and precision of intelligent instruments processor, this paper presents a numerical analysis method of piecewise polynomial and uses C+ language to complete the procedure and simulation. We can get an inverse function about temperature t and the thermoelectric power E, which has low order and few coefficients. This paper obtained measurement values T and theoretical values t whose difference between -0.2 degrees Celsius to 0.2 degrees Celsius, so that the method can be used for temperature calculation and measure display of microprocessorbased instrument. This numerical method can greatly improve the performance of intelligent instrument.Key words: Accuracy,numerical analysis,thermocouple,polynomial目 录第一章 绪论11.1 研究背景11.2 研究的方法和意义1第二章 热电偶的基本原理32.1 热电偶的简介32.1.1 热电偶定义32.1.2 热电偶的分类32.2 热电偶测量温度的原理62.2.1 热电效应62.2.2 热电偶的基本定律7第三章 数值分析方法83.1 插值法简介83.2 最小二乘法简介93.3 插值法和最小二乘法的比较103.4 最小二乘法的应用11第四章 软件编程134.1 程序设计134.2程序说明16第五章 仿真结果与结论175.1 仿真结果的说明175.2 结论18第六章 毕业设计总结21参考文献22附 录中文译文致 谢第一章 绪论1.1 研究背景在最初使用热电偶测量温度时,我们采用人工查找分度表的方法,其过程是先利用温度传感器测出电势,然后通过电势值在分度表中查询对应的温度值。随着科学技术的进步,特别是计算机技术的飞速发展,我们不需要再查找分度表那么麻烦,智能测温仪表的出现解决了这一难题,它不仅可以帮助我们精确地计算出温度,而且可以直观地读出温度值。智能测温仪表中主要包括温度传感器和微处理器,温度传感器主要包括热电偶和热电阻;微处理器具有一定的数据存储和处理能力。在软件的配合下,智能测温仪表可以快速而精确地显示出温度值。智能测温仪表的使用很方便,不过它也存在一定的误差。虽然用人工的方法很慢,很浪费时间,但是这种方法准确度较高。这和传统的有线电话保密性高是一个道理。因此,要想智能仪表得到普遍的使用,就必须解决误差的问题。通常用于温度测量的温度传感器有热电偶、热电阻等。其中热电偶利用热电效应测温,实现温度(t)与电势(E)转换,对于每一个温度t都有相应的电势E与之对应。热电阻则利用导体电阻随温度变化的特性测温。我们可以从90国际温标通用热电偶分度表手册中查找出t与E的转换关系及系数列表。书中给出的关系式是(01372,K偶),虽然可以利用这个关系式精确地计算出E和t所对应的值,但是其系数项(Ci,ao,a1)较多,且t的阶数较高(它的阶数可以取到9)。如果将上述关系式直接用于智能仪表微处理器中的温度运算与处理,可能存在两种情况:一种是处理器功能较弱,不能计算出结果;另一种是处理器较强,但是计算出正确的结果需要较长时间,同时还可能有较大误差。考虑到成本,我们不要求有功能很强的处理器。这样一来,我们就必须找到一种合适的数值分析方法,其作用是减少系数,降低函数t=g(E)的阶数,同时还要保证误差在(-0.2+0.2)之间。1.2 研究的方法和意义本论文介绍了一种数值分析方法,它就是最小二乘法分段拟合多项式的数值分析方法。通过这种方法计算出的函数t=g(E),其阶数较低,系数较少。然后将得到的t=g(E)分段拟合公式的系数作为常数存入微机的ROM内,智能仪表在进行温度测量时,先根据测量热电偶的电势E数值的大小,找到合适的拟合段,从存储器ROM中取出该段拟合公式的系数,通过计算及相应的数据处理得到实际测量的温度值。此种方法的运用不仅仅使智能仪表的成本大大降低,而且使智能仪表的精确度有了明显的提高。本论文在熟悉最小二乘法分段拟合多项式的数值分析方法的基础上,利用C+编程软件,在PC机上进行编程和仿真,计算出多项式(式中的阶数可以改变,阶数越高,精确度越高,不过应在保证精度的条件下尽量降低阶数,这样可以使智能仪表的运算速度加快)的系数a0,a1,a2,a3,a4。第二章 热电偶的基本原理2.1 热电偶的简介2.1.1 热电偶定义 由两种导体组合而成,将温度转化为热电动势的传感器叫做热电偶。热电偶是一种感温元件,是一次仪表,它直接测量温度,并把温度信号转换成热电动势信号, 通过电气仪表(二次仪表)转换成被测介质的温度。2.1.2 热电偶的分类常用热电偶可分为标准热电偶和非标准热电偶两大类。所调用标准热电偶是指国家标准规定了其热电势与温度的关系、允许误差、并有统一的标准分度表的热电偶,它有与其配套的显示仪表可供选用。非标准化热电偶在使用范围或数量级上均不及标准化热电偶,一般也没有统一的分度表,主要用于某些特殊场合的测量。标准化热电偶我国从1988年1月1日起,热电偶和热电阻全部按IEC国际标准生产,并指定S、B、E、K、R、J、T七种标准化热电偶为我国统一设计型热电偶。1、(S型热电偶)铂铑10-铂热电偶铂铑10-铂热电偶(S型热电偶)为贵金属热电偶。偶丝直径规定为0.5mm,允许偏差-0.015mm,其正极(SP)的名义化学成分为铂铑合金,其中含铑为10%,含铂为90%,负极(SN)为纯铂,故俗称单铂铑热电偶。该热电偶长期最高使用温度为1300,短期最高使用温度为1600。S型热电偶在热电偶系列中具有准确度最高,稳定性最好,测温温区宽,使用寿命长等优点。它的物理,化学性能良好,热电势稳定性及在高温下抗氧化性能好,适用于氧化性和惰性气氛中。由于S型热电偶具有优良的综合性能,符合国际使用温标的S型热电偶,长期以来曾作为国际温标的内插仪器,“ITS-90”虽规定今后不再作为国际温标的内查仪器,但国际温度咨询委员会(CCT)认为S型热电偶仍可用于近似实现国际温标。S型热电偶不足之处是热电势,热电势率较小,灵敏读低,高温下机械强度下降,对污染非常敏感,贵金属材料昂贵,因而一次性投资较大。 2、(R型热电偶)铂铑13-铂热电偶铂铑13-铂热电偶(R型热电偶)为贵金属热电偶。偶丝直径规定为0.5mm,允许偏差-0.015mm,其正极(RP)的名义化学成分为铂铑合金,其中含铑为13%,含铂为87%,负极(RN)为纯铂,长期最高使用温度为1300,短期最高使用温度为1600。R型热电偶在热电偶系列中具有准确度最高,稳定性最好,测温温区宽,使用寿命长等优点。其物理,化学性能良好,热电势稳定性及在高温下抗氧化性能好,适用于氧化性和惰性气氛中。由于R型热电偶的综合性能与S型热电偶相当,在我国一直难于推广,除在进口设备上的测温有所应用外,国内测温很少采用。1967年至1971年间,英国NPL,美国NBS和加拿大NRC三大研究机构进行了一项合作研究,其结果表明,R型热电偶的稳定性和复现性比S型热电偶均好,我国目前尚未开展这方面的研究。R型热电偶不足之处是热电势,热电势率较小,灵敏度低,高温下机械强度下降,对污染非常敏感,贵金属材料昂贵,因而一次性投资较大。3、(B型热电偶)铂铑30-铂铑6热电偶铂铑30-铂铑6热电偶(B型热电偶)为贵金属热电偶。偶丝直径规定为0.5mm,允许偏差-0.015mm,其正极(BP)的名义化学成分为铂铑合金,其中含铑为30%,含铂为70%,负极(BN)为铂铑合金,含铑为量6%,故俗称双铂铑热电偶。该热电偶长期最高使用温度为1600,短期最高使用温度为1800。B型热电偶在热电偶系列中具有准确度最高,稳定性最好,测温温区宽,使用寿命长,测温上限高等优点。适用于氧化性和惰性气氛中,也可短期用于真空中,但不适用于还原性气氛或含有金属或非金属蒸汽气氛中。B型热电偶一个明显的优点是不需用补偿导线进行补偿,因为在050范围内热电势小于3V。B型热电偶不足之处是热电势,热电势率较小,灵敏读低,高温下机械强度下降,对污染非常敏感,贵金属材料昂贵,因而一次性投资较大。4、(K型热电偶)镍铬-镍硅热电偶镍铬-镍硅热电偶(K型热电偶)是目前用量最大的廉金属热电偶,其用量为其他热电偶的总和。正极(KP)的名义化学成分为:Ni:Cr=90:10,负极(KN)的名义化学成分为:=97:3,其使用温度为-2001300。K型热电偶具有线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜等优点,能用于氧化性惰性气氛中。广泛为用户所采用。K型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,也不推荐用于弱氧化气氛中。5、(N型热电偶)镍铬硅-镍硅热电偶镍铬硅-镍硅热电偶(N型热电偶)为廉金属热电偶,是一种最新国际标准化的热电偶,是在70年代初由澳大利亚国防部实验室研制成功的它克服了K型热电偶的两个重要缺点:K型热电偶在300500间由于镍铬合金的晶格短程有序而引起的热电动势不稳定;在800左右由于镍铬合金发生择优氧化引起的热电动势不稳定。正极(NP)的名义化学成=84.4:14.2:1.4,负极(NN)的名义化学成分为:=95.5:4.4:0.1,其使用温度为-2001300。 N型热电偶具有线性度好,热电动势较大,灵敏度较高,稳定性和均匀性较好,抗氧化性能强,价格便宜,不受短程有序化影响等优点,其综合性能优于K型热电偶,是一种很有发展前途的热电偶.N型热电偶不能直接在高温下用于硫,还原性或还原,氧化交替的气氛中和真空中,也不推荐用于弱氧化气氛中。6、(E型热电偶)镍铬-铜镍热电偶镍铬-铜镍热电偶(E型热电偶)又称镍铬-康铜热电偶,也是一种廉金属的热电偶,正极(EP)为:镍铬10合金,化学成分与KP相同,负极(EN)为铜镍合金,名义化学成分为:55%的铜,45%的镍以及少量的锰,钴,铁等元素。该热电偶的使用温度为-200900。E型热电偶热电动势之大,灵敏度之高属所有热电偶之最,宜制成热电堆,测量微小的温度变化。对于高湿度气氛的腐蚀不甚灵敏,宜用于湿度较高的环境。E热电偶还具有稳定性好,抗氧化性能优于铜-康铜,铁-康铜热电偶,价格便宜等优点,能用于氧化性和惰性气氛中,广泛为用户采用。E型热电偶不能直接在高温下用于硫,还原性气氛中,热电势均匀性较差。7、(J型热电偶)铁-铜镍热电偶铁-铜镍热电偶(J型热电偶)又称铁-康铜热电偶,也是一种价格低廉的廉金属的热电偶。它的正极(JP)的名义化学成分为纯铁,负极(JN)为铜镍合金,常被含糊地称之为康铜,其名义化学成分为:55%的铜和45%的镍以及少量却十分重要的锰,钴,铁等元素,尽管它叫康铜,但不同于镍铬-康铜和铜-康铜的康铜,故不能用EN和TN来替换。铁-康铜热电偶的覆盖测量温区为-2001200,但通常使用的温度范围为0750J型热电偶具有线性度好,热电动势较大,灵敏度较高,稳定性和均匀性较好,价格便宜等优点,广为用户所采用。J型热电偶可用于真空,氧化,还原和惰性气氛中,但正极铁在高温下氧化较快,故使用温度受到限制,也不能直接无保护地在高温下用于硫化气氛中。8、(T型热电偶)铜-铜镍热电偶铜-铜镍热电偶(T型热电偶)又称铜-康铜热电偶,也是一种最佳的测量低温的廉金属的热电偶。它的正极(TP)是纯铜,负极(TN)为铜镍合金,常之为康铜,它与镍铬-康铜的康铜EN通用,与铁-康铜的康铜JN不能通用,尽管它们都叫康铜,铜-铜镍热电偶的盖测量温区为-200350。T型热电偶具有线性度好,热电动势较大,灵敏度较高,稳定性和均匀性较好,价格便宜等优点,特别在-2000温区内使用,稳定性更好,年稳定性可小于3V,经低温检定可作为二等标准进行低温量值传递。T型热电偶的正极铜在高温下抗氧化性能差,故使用温度上限受到限制。2.2 热电偶测量温度的原理 A B 图 2-2 热电效应2.2.1 热电效应1823年,塞贝克(Seebeck)发现,在两种不同的金属所组成的闭合回路中,当两接触点处温度不同时,回路中就要产生热电势,称为塞贝克电势。这个物理现象称为热电效应。如图2-2所示,两种不同材料的导体A和B,两端连接在一起,一端温度为T0,另一端为T(设TT0),这时在这个回路中将产生一个与温度T,T0以及导体材料性质有关的电势E(T,T0),显然可以用这个热电势来测量温度。在测量技术中,把由两种不同材料构成的上述变换元件称为热电偶,称A,B为热电极。两个接点,一个为热端(T),另一个为冷端(T0),又称为自由端或参考端。实验证明,回路的总热电势为 (2-1)式中a为热电势率或塞贝克系数,其值随热电极材料和两接点的温度而定。后来研究指出,热点效应产生的电势 E(T,T0)是由珀尔帖效应和汤姆逊效应引起的。由结论知:1、 如果热电偶两个电极的材料相同,两个接点的温度虽不同,但不会产生电势;2、 如果两个电极的材料不同,但两接点的温度相同,也不会产生电势;3、 当热电偶的两个电极的材料不同,且A,B固定后,热电势E(T,T0)便为两接点温度T和T0的函数,即 E(T,T0)= E(T)-E(T0) (2-2)当T0保持不变,即E(T0)为常数时,则热电势E(T,T0)便为热电偶热端温度T的函数。E(T,T0)= E(T)- c = (2-3)由此可见,E(T,T0)和T有单值对应关系,这是热电偶测温的基本公式。热电极的极性:测量端失去电子的热电极为正极,得到电子的热电极为负极。在热电势符号E(T,T0),规定写在前面的A、T分别为正极和高温,写在后面的B、T0分别为负极和低温。如果他们的前后位置互换,则热电势的极性相反,如E(T,T0)=- E(T0,T),E(T,T0)=-E(T,T0)等。2.2.2热电偶的基本定律1、均质导体定律两种均质金属组成的热电偶,其电势大小与热电极直径、长度及沿热电极上的温度分别无关,只与热电极材料和两端温度有关。如果材质不均匀,则当热电极上各处温度不同时,将产生附加热电势,造成无法估量的测量误差,因此,热电极材料的均匀性是衡量热电偶质量的重要指标之一。2、中间定律 在热电偶回来中插入第三、四种导体,只要插入导体的两端温度相同,且插入导体是匀质的,则无论插入的导体的温度分布如何,都不会影响原来热电偶的热电势大小。 mv T0T0ABABTT 图2-3 中间导体定律因此,我们可以将毫伏表(一般为铜线)接入热电偶回路,并保证两个结点的温度一致,就可以对热电势进行测量,而不影响热电偶的输出。如图2-3所示。3、中间温度定律热电偶在接点温度为T, T0时的热电势等于该热电偶在接点温度为T, 和Tn,T0时相应的热电势的代数和,即E(T,T0) = E(T, ) + E(,T0) (2-4)若T0=0,则有E(T,0) = E(T, ) + E(,0) (2-5)第三章 数值分析方法3.1 插值法简介在科学研究与工程技术中,常会遇到函数表达式过于复杂而不便于计算,且又需要计算众多点处的函数值;或只已知实验或测量得到的某一函数y=f(x)在区间中互异的n+1个x0,x1,处的值y0,y1,,需要构造一个简单函数P(x)作为函数y=f(x)的近似表达式y=f(x)P(x),使得P(xi)=f(xi)=,(=0,1,n).这类问题就是插值问题,P(x)即称为插值函数。在运用插值法的过程中,要求误差r(x) = f(x)-P(x) (3-1)的绝对值r(x)在区间上任意一点或整个区间上比较小,即P(x)较好地逼近f(x)。点x0,x1,成为插值基点(节点)或简称为基点(节点)。基点不一定按其大小顺序排列。min(x0,x1,),max(x0,x1,)称为插值区间。f(x)称为求插函数,P(x)称为插值函数。求f(x)的插值函数的方法称为插值法。称 f(x)= P(x) + r(x) (3-2)为(带余项的)插值公式,r(x)称为插值公式的余项。插值函数P(x)在n+1个插值基点(=0,1,n)处的值与f()相等。在其他点x用P(x)的值作为f(x)的近似值。这个过程称为插值,x称为插值点。若插值点位于插值区间内,这种插值称为内插;当插值点位于插值区间外,但又较接近插值区间端点时,也可以用P(x)做为f(x)的近似值,这种过程称为外插或外推。我们用P(x)作为f(x)的差值函数,除要求P(x)在某些意义上更好地逼近f(x)外,还希望P(x)是叫简单的函数,或者便于计算机计算。因此,我们常用多项式、有理分式和三角多项式作为插值函数。选择不同的函数类作为插值函数逼近f(x),其效果是不同的,所以需要根据实际问题中求函数f(x)的特性选择合适的差值函数。插值法包括线性插值、抛物线插值、分段线性插值、分段线性插值、分段抛物线插值、拉格朗日插值多项式、牛顿插值多项式、等距节点插值多项式(牛顿前插公式、牛顿后插公式)、埃尔米特插值、三次样条插值用节点处一阶导数表示的样条函数(给定两端点处的一阶导数值、给定两端点处的二阶导数值)、用节点处二阶导数表示的样条函数(给定两端点处的一阶导数值、给定两端点处的二阶导数值)。插值法主要用在一元函数的数值计算中。用的较多的是线性插值、三点插值和样条插值。如果在一组数据中,需要用插值法求出少数几个插值点的函数值,则用简单的线性插值或三点插值就能得到满意的结果。但是,如果需要计算许多插值点的函数值,并利用这些点再计算机上绘出曲线时,为了得到平滑的数据,往往需要采用样条插值。 时至今日,随着电子计算机的普及,插值法的应用范围已涉及到了生产、科研、的各个领域。特别是由于航空、造船、精密机械加工等实际问题的需要,更使得插值法在实践与理论上显得尤其重要并得到了进一步发展,尤其是近几十年发展起来的样条(Spline)插值,更获得了广泛的应用。3.2 最小二乘法简介在研究两个变量之间的关系时,可以用回归分析的方法进行分析。当确定了描述两个变量之间的回归模型后,就可以使用最小二乘法估计模型中的参数,进而建立经验方程。简单地说,最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小。里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。例如,对于回归模型 ,若,为收集到的观测数据,则应该用来估计,这里是的估计值。这样点的估计就是,它们之间距离的平方就是,进而最小二乘估计量就是使得 (3-3)达到最小值的参数。特别当各个和相应的估计值相等,即时,最 (3-4)达到最小值的参数。 如果我们能够在固定解释变量值的前提下观测预报变量,就认为解释变量的观测值和估计值相等,从而可以通过(2)式求最小二乘估计.在实际应用中,人们常忽略“各个和相应的估计值相等”的条件,而把(2)式的最小值点称为参数的最小二乘估计量,其原因有二:其一是不知道最小二乘方法的原理;其二是找不到估计量的合理数学表达式,也就无法通过(1)式求最小二乘估计量,只好用(2)式的最小值点作为参数的估计。在教科书中,已知(x1,y1),(x2,y2),()是变量X和Y的一组观测数据,要估计的是回归直线方程y=b0b1x中参数b0,b1的值。所以这时目标函数为。于是这时的最小二乘法就是寻求b0,b1的值,使在各点处的偏差(b0b1xi)(=1,2,n)的平方和达到最小.在这种情形中,有意思的事情是:估计得到的直线=b0b1x一定经过观测数据点的中心(,)(,)。进一步,若观测数据全部落在某一直线上,则这个直线方程的截距和斜率必是模型参数的最小二乘估计量.因此最小二乘法还为我们提供了一种求解方程组的方法。关于最小二乘估计的计算,涉及更多的数学知识,这里不想详述。其一般的过程是用目标函数对各bi求偏导数,并令其等于0,得到一个线性方程组.高斯当年将其命名为正则方程,并创设了解线性方程组的消元法高斯消元法。3.3 插值法和最小二乘法的比较在科学研究与工程技术中,常常需要从一组测量数据()(=0,1,n)出发,寻找变量x与y的函数关系的近似表达式,且是从给定的一组实验数据出发,寻求已知函数的一个逼近函数,使得逼近函数从总体上与已知函数的偏差按某种方法度量能达到最小,而又不需要通过全部的点(),这就是最小二乘曲线拟合。从计算的角度看,最小二乘法与插值法类似,都是处理数据的算法。但从创设的思想看,二者却有本质的不同。前者寻求一条曲线,使其与观测数据“最接近”,其目的是代表观测数据的趋势;后者则是使曲线严格通过给定的观测数据,其目的是通过来自函数模型的数据来近似刻画该函数。在观测数据带有测量误差的情况下,就会使得这些观测数据偏离函数曲线,结果使得与观测数据保持一致的插值法不如最小二乘法得到的曲线更符合客观实际。因此用最小二乘法分析E和t的非线性关系是更符合实际的方法。3.4 最小二乘法的应用在90国际温标通用热电偶分度表手册中给出了原函数E=f(t),在一定温度范围内确定步长,均匀取点,得到一组数据(t0,E0)、(t1,E1)(n=3),这些就是最小二乘法中所提到的理论值。利用这组数据分段拟合,求出反函数t=g(E),例如选择(n=3)为拟合模型多项式(根据情况选择多项式的阶数,一般选择的阶数为3-5),我们的目的是求多项式系数a0,a1,a2,a3。根据最小二乘定义,应使各节点处的误差平方和最小,即r=最小。所以,应满足条件(=0,1,2,3),经推导得到方程组:= (3-5)简记为A a=b。由于一组数据(t0,E0 )(t1,E1)(n=3)均已知,相当于未知数为 (=0,1,2,3),求出 (=0,1,2,3)即得出最小二乘拟合公式。我们用高斯-约当消去法求解线性方程组。高斯(Gauss)消去法是大家所熟悉的方法,虽然它是一种古老的方法,但用计算机求解线性方程组的实践表明,它仍然是直接法中最常用和最有效的方法之一。其基本思想是逐步的消去未知数,把原方程组转化为等价的三角方程组,这样就极易求解,通过回代过程即可逐一求出各未知数。我们采用的是较高斯(Gauss)消去法更为简单的高斯约当消去法。高斯约当消去法(GaussJordan,简称约当消去法)是一种无回代过程的消去法,其基本思想是对方程的增广矩阵Ab进行初等变换,将A矩阵各列的非主元素全部化为零,主对角线上的元素化为1。Jordan法与Gauss法的区别在于Jordan法不仅将主元以下的未知数系数化为0,主元之上的系数同样化为0,并且主元素自身归1。原A矩阵位置变换为单位矩阵,而常数项位置上的值就是所求系数a (=0,1,2,3),因此不需要回代过程。第四章 软件编程4.1 程序设计由前面介绍的数值分析方法方案知:最小二乘拟合生成系数矩阵方程和高斯-约当消去法解矩阵方程子程序是主程序中必须不断调用高斯-约当消去法解矩阵方程的子程序,求解出多项式的系数。在本程序中对由E=f(t)精确公式取一组数据时的温度范围、步长、以及生成的拟合多项式的阶数均使用了宏定义,也就是说此程序具有极大的通用性,适合各种类型的热电偶、热电阻。将用此程序计算所得的分段拟合多项式的系数存人微处理器的ROM区内,可以使智能仪表完成对各类热电偶、热电阻温度传感器的精确测量。程序流程见图4-1。在设计过程中应注意以下几点:1、是9次幂多项式(针对01372C,K偶),所以在式4-1,4-2中,n的取值为9,而不是拟合多项式的阶数;2、精度的设置语句为cout.precision(n),其中n便是有效数字的位数;3、在解方程组时,只需n+1个点,所以在确定温度范围之后,应该在这个范围内均匀取五个点。在求得系数之后,即得到t=gE,然后从分度表中以一定的间隔取E1,E2,,将E的值代入t=gE中,得到温度的估计值T,再用T与t比较,t-T0.2才能满足工程要求;4、以K偶为例,利用所编程序求得K偶在一般测量温度范围为-50C 1300C的分段拟合多项式的系数。K偶Et关系如下:当温度范围为01372C时, (4-1)当温度范围在-2700C时, (4-2)式中,E为电动势,单位为mV;t是以ITS-90为依据的温度,与摄氏温度t一样;a,a,和C是9次幂多项式加上指数表达式的有关系数 。在用C语言表示时,应利用一个for循环先表示出;5、如果没有直接给数组赋值,那么,先将数组中所以元素设置为0;6、在使用pow()时,必须使用头文件#include ;7、A a = b中,A的每一个元素分别是由内积得来,而可分别由一个矩阵的不同行表示;其中,。b的每一个元素是由内积而来,其中;8、得到A,b后,将它们组成增广矩阵Ab;9、在用高斯-约当消去法的过程中,可以先将每一列的元素变为1,前提是这些元素不为零,再将一些元素变为零。例如,将第二行到最后一行的第一个元素变为零,可先将第一列的所有元素变为1,然后用第二行到最后一行的元素减去第一行的元素,对应相减。后面的变法以此类推。此程序是由几个循环组成,较复杂,编程时应注意每一个循环的适用范围10、切记主对角线上的元素要变为1。且最后一列的元素就是所求的系数。开始宏定义温度区间、步长length、阶数n。利用E=f(t),计算出一组数据t1,E1,t2,E2利用数组表示矩阵A,b,c调用高斯-约当消去法解矩阵方程的子程序,求解出多项式的系数误差t0.2输出多项式系数a,并利用求出表5-2中的T结束NY图4-1 流程图 4.2 程序说明1、此程序适用于0C 1372C求多项式的系数a0,a1,a2,a3,a4;2、可将温度划分为-90250,250650,6501372三段。在编程的过程中发现用公式,计算tn+1,En+1与分度表中的值对比存在一定的误差。为了避免误差,我们可以直接给出tn+1,En+1中元素的值(可以直接在分度表中查找,若n=4,则分别在-90250,250650,6501372温度范围内分别取5个点,且是均匀的)。例如,给出tn+1=650,830,1010,1190,1370, En+1= 27.025,34.501,41.665,48.473,54.819,运行程序就可以得到所求系数,然后用E012=27.025,29.129,31.213,33.275,35.313,37.326,39.314,41.276,45.119,48.838,52.410,54.138(从分度表中找出的)和公式计算出温度T,再将T和t进行比较,误差必须小于或等于0.2。若不满足要求,则缩小温度的范围,以便得到更高的精度。3、(后来补充的)分度表中给出的系数a0是错的,正确的是a0=1.185976e-1,现在我们检验误差时不需要再从分度表中一个一个查值了,可以直接定义步长length=5,通过公式计算出一组(t0,E0)、(t1,E1)(tn,En),再将得到的E的值代入中,得到估计值T。对于-90250,由于温度小于0时,其系数Ci和公式与温度大于0是不同的,所以用2中的方法编程简便。4、仿真的结果是按照2中的方法进行的。附录中的程序是更改后的程序,不用一个个取点。第五章 仿真结果与结论5.1 仿真结果的说明 以下仿真结果只适用于K偶6501372,其余温度段250650,-90250,需要更改tn+1,En+1中元素的值。图5-1增广矩阵 图5-1即所求的系数矩阵(也是增广矩阵),在程序中就是ad。图5-2初等变换矩阵图5-2 为主对角线下的元素变成0的仿真结果。图5-3初等变换矩阵图5-3 为主对角线上的元素变成0的仿真结果。图5-4 ai的值图5-4 为所求系数a0,a1,a2,a3,a4的仿真结果。图5-6 估计值T图5-6 为计算出的T的值,可见T和t的误差小于0.2,满足设计的要求。图 5-7 误差判断 从图5-7可直观地看出,误差都小于0.2,满足设计的要求。 5.2 结论运行程序,得到拟合多项式 的系数如表5-1,5-3。将K偶-90C 1372C,S偶-501664.5分段拟合多项式计算出的温度值T与以E=f(t)精确公式所得分度表相比较(t表示温度,E表示热电势),从表5-2,5-4得知其误差满足 0.2。将所得分段拟合多项式的系数以列表的方式存入微处理器的ROM区内,微处理器可以实现对K偶在-901372,S偶在-501664.5的温度测量及数值处理。同理,用此数值分析方法可以完成各种类型的热电偶(N,K,E,J,T,S,R,B)、热电阻(Ptl00,Cul00,Cu50)的多项式分段拟合运算。将得到的各类热电偶、热电阻E(R)与t分段拟合公式的系数存入微处理器的ROM区内作为软件的温度处理模块,可以使智能仪表完成对各类热电偶、热电阻温度传感器的精确测量。我们以此温度处理模块为基础设计的智能仪表温度测量范围宽、精度高,其温度测量精度可达0.2精度等级。因为温度测量计算是靠微处理器来完成的,因此智能仪表测量性能稳定可靠,适用于各种工业过程控制及监测的温度测量。表5-1 K偶-901372的分段拟合多项式的系数表-902502506506501372a1.736e-2-1.0805e11.291e2a2.5359e12.719e11.1864e1a-4.7012e-1-1.7784e-14.3129e-1a7.246e-13.0096e-3-7.2986e-3a-3.2808e-3-6.5906e-65.5013e-5表5-2 K偶-901372分度表中温度t与计算的温度值T以及误差t ()50100150200250300T()49.939100.06150.06199.92250299.98()0.0610.060.060.0800.02t ()350400450500550600T()350400450499.99550600()0000.0100t ()650700750800850900T()650699.85749.86799.95850.02900.05()00.050.140.050.020.05t ()95010001100120013001350T()950.041000110012001299.91349.9()0.040000.10.1t ()-90-70-50-30-1010T()-90-70.134-50.093-30.044-1010.051()00.1340.0930.04400.051表5-3 S偶-501664.5的分段拟合多项式的系数表-50350503503501064.181064.181664.5a2.1143e-0142.196381.9812e1a1.8474e21.6889e21.1807e21.2475e2a-7.9837e1-3.2551e1-2.3627-3.0294a1.1942e28.8286.3823e-27.022e-2a-1.6018e2-1.0115-1.0589e-31.0995e-4表5-4 S偶-501664.5分度表中温度t与计算的温度值T以及误差t ()50100150200250300T()5099.905150.05200249.95300.08()00.0950.0500.050.08t ()350400450500550600T()350399.86449.88499.96550.02600.05()00.040.120.040.020.05t ()650700750800850900T()650.04700749.98799.97849.98900.01()0.0400.020.030.020.01t ()9501000-50-201040T()950.041000-50-19.9899.984940.045()0.04000.0110.01510.045t ()110012001300140015001650T()110012001300140015001650()000000第六章 毕业设计总结在毕业设计做出来的时候,心情十分的舒畅,可以说这是一个小小的成就吧。回想起设计过程所遇的困难,特别是写程序时候的一筹莫展,心里也不觉得那是一种痛苦了,反而有些甜美的感觉。下面就是我做毕业设计的心得:在用C+编程之前,首先应了解热电偶的热电特性,了解热电偶的测温原理;其次,熟悉最小二乘法。只有在熟悉最小二乘法的基础之上,才能建立数学模型,进而将其转换为C语言。编程之前,还要建立流程图,根据流程图,先从子程序开始编写,然后编写主程序。此程序的设计难点在于高斯约当消去法的编写,主要是里面涉及到了几个循环,很容易把头搅晕。克服的办法是,先定下矩阵的阶数,如n=2,则矩阵A是3*3。再变到3*4的增广矩阵ad,然后通过几个循环,将主对角线下的元素变为0,再通过几个循环将主对角线上的元素变为0。在此基础上,我们可以观察出其中的规律,由此可以编写出更简单的程序,且适用于任意的n。毕业设计开始之前,可以说是一头雾水,压根没有头绪,一切都得从头开始学。现在看来,特别是做出来之后,也就不觉得高深莫测了。毕业设计极大地锻炼了我的学习能力,使我有信心面对以后的各种困难,无论是学习的还是生活的。其实新的东西并不可怕,可怕的是我们没有信心去研究它,掌握它。或许只有真正完成了毕业设计,才能明白这个道理。参考文献1 国家技术监督局计量司90国际温标通用热电偶分度表手册M北京:中国计量出版社,19942 林成森.数值分析M北京:科学出版社,20053 刘迎春,叶湘滨传感器原理M 国防科技大学出版社,20024 游伯坤,阚家钜,江兆章。温度测量与仪表热电偶和热电阻M。北京:科学技术文献出版社,19905孙彦清.最小二乘法线性拟合应注意的两个问题J.汉中师范学院报(自然科学),2002,20,(1):58.6 马松龄最小二乘法在热电偶热电势温度特性线性化中的应用J西安建筑科技大学学报,2001,33(1)7 赵岩,杨光智用于智能仪表温度测量的数值分析方法J 电子测量与仪器学报,2005,19(5):33-368 梁坤,章天金,张柏顺,马志军,江娟,刘江华. 最小二乘法在热电偶电势非线性软件补偿中的应用J。湖北大学学报(自然科学版),2004,26(3):33-36.9 李文涛 , 王建国 , 左鸿飞 , 李胜玉. 热电偶非线性特性的开环补偿方法J, 计量技术,2003(4):33-36.10 Dai Wen, Lin Qing, Lu Qiang. Calibration System for Thermocouple Application Based on Technology of Virtual Instrument and Neural Networkp. The Eighth International Conference on Electronic Measurement and Instruments,2007:268-273.11 唐慧强.热电偶特性曲线样条函数拟合的优化J .仪表技术与传感,2003(12):44-47.12 吴立锋. 遗传算法在热电偶热电特性线性化中应用J .仪器仪表用户,2004(2):55-5.附 录最小二乘分段拟合多项式程序:#include#include /使用这个头文件才能用pow函数using namespace std;const int n=4; /注意,n为分段拟合多项式的阶数 const double length=5.0; /定义步长为5,用于后面t0的取值const double T0=650,Te=1372; /(T0,Te)为所划分的温度区间void Gs( double an+1n+1, double bn+11, double cn+11);/*/void main()double a0=1.185976e-1,a1=-1.183432e-4,tn+1,En+1,Pan+1n+1,add,an+1n+1,bn+11,cn+11,g150,t0150,E0150 ,pp,Ci10=-1.7600413686e-2,3.8921204975e-2,1.8558770032e-5,-9.9457592874e-8,3.1840945719e-10,-5.6072844889e-13,5.6075059059e-16,-3.2020720003e-19,9.7151147152e-23,-1.2104721275e-26; /以上为定义的常数,变量,数组/*-*/cout.precision(5); /修改精度for(int q1=0;q1n+1;q1+)tq1=0.0;for(int k=0;kn+1;k+)tk=T0+k*(Te-T0)/n; /取t的值for(int i=0;in+1;i+) add=0.0;for(int j=0;j10;j+) /注意,Ci是9次方多项式的系数add+=Cij*pow(ti,j);Ei=add+a0*exp(a1*pow(ti-126.9686,2) ; /计算一组数据(t1,E1).(t2,E2) /也可直接从分度表中查出/*- */for(int r=0;rn+1;r+)for(int c=0;cn+1;c+)Parc=pow(Ec,r);/创建矩阵Pan+1n+1,目的是得到G中的p0,p1.pn,用Pa0n+1代 /*-*/for(int r3=0;r3n+1;r3+) /注意,首先要将an+1n+1中所有元素赋值为0for(int c3=0;c3n+1;c3+)ar3c3=0.0;for(int r1=0;r1n+1;r1+) /由内积构成了第一个矩阵an+1n+1for(int c1=0;c1n+1;c1+)for(int n0=0;n0n+1;n0+)ar1c1+=Par1n0*Pac1n0; /*-*/for(int r4=0;r4n+1;r4+) /注意,首先要将cn+10中所有元素赋值为0cr40=0;for(int r2=0;r2n+1;r2+) /输入第三个矩阵cn+11 for(int c2=0;c2n+1;c2+) cr20+=tc2*Par2c2; /*-*/Gs( a, b, c);int n0;n0=(Te-T0)/length;for(int q2=0;q2n0;q2+)t0q2=0.0; for(int k1=0;k1n0;k1+)t0k1=T0+k1*length; /以步长5取点,用于后面的检验误差 coutt00=t00endl;for(int i2=0;i2n0;i2+) pp=0.0;for(int j2=0;j210;j2+) /注意,Ci是9次方多项式的系数pp+=Cij2*pow(t0i2,j2);E0i2=pp+a0*exp(a1*pow(t0i2-126.9686,2); coutE00=E00endl;for(int k7=0;k7n0;k7+) /使g每一个元素为0gk7=0.0;for(int k8=0;k8n0;k8+) /求得gE=a0+a1*E.,求得估计值tfor(int k9=0;k9n+1;k9+)gk8+=bk90*pow(E0k8,k9); coutg0=g0endl;coutg1=g1endl;coutg2=g2endl;coutg3=g3endl;coutg4=g4endl; /此处g的值是用于检验误差是否满足 0.2int p2=0;while(p2n0)if(gp2-t0p20.2 & t0p2-gp20.2) /检验误差是否满足要求cout误差小于0.2,满足要求endl;else cout误差大于0.2,不满足要求endl;p2+; /*/void Gs( double an+1n+1, double bn+11, double cn+11) /利用高斯消去法求解矩阵方程double adn+1n+2;for(int h1=0;h1n+1;h1+) for(int h2=0;h2n+1;h2+) adh1h2=ah1h2;for(int h3=0;h3n+1;h3+)adh3n+1=ch30;for(int p5=0;p5n+1;p5+)for(int p6=0;p6n+2;p6+)coutadp5p6t;coutendl; coutendl;/组建一个新的矩阵ad,代替a;新的矩阵多了一列,这一列是c/*-*/double aa=0.0;int kk=0;while(kkn+1) /将主对角线下的元素变为0 for(int k1=kk;k1n+1;k1+)aa=adk1kk; /用aa代替adk1kk,目的是让被除数保持不变for(int k2=0;k2n+2;k2+) adk1k2/=aa; for(int r5=kk+1;r5n+1;r5+)for(int c5=0;c5n+2;c5+) adr5c5-=adkkc5;kk+;double bb=0.0;int k3=0;while(k3n+1) /将主对角线上的元素变为0for(int t0=0;t0n-k3+1;t0+) bb=adt0n-k3;for(int t1=0;t1n+2;t1+) adt0t1=adt0t1/bb;for(int t2=0;t2n-k3;t2+)for(int t3=0;t3n+2;t3+) adt2t3=adt2t3-adn-k3t3;k3+;for(int p3=0;p3n+1;p3+)for(int p4=0;p4n+2;p4+)coutadp3p4t;coutendl;/*-*/for(int p10=0;p10n+1;p10+)bp100=adp10n+2;for(int t12=0;t12n+1;t12+)bt120=adt12n+1; /ad的最后一列就是所求的系数couta0=b00endl;couta1=b10endl;couta2=b20endl;couta3=b30endl;couta4=b40endl;致 谢经过半年的努力,毕业设计和毕业论文终于完成了!在此,我要感谢赵老师,感谢刘老师,还有其他帮助过我的老师和同学们。没有你们的悉心指导和帮助,我不可能顺利地完成毕业设计(论文)。回想这半年多以来,从选题,开题到课题的设计,再到论文。看似简单的几步,但是其间却有很多的细节与困难。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论