数据处理技术.ppt

上传人:wj 文档编号:14265041 上传时间:2023-06-22 格式:PPT 页数:72 大小:720.50KB
下载 相关 举报
数据处理技术.ppt_第1页
第1页 / 共72页
数据处理技术.ppt_第2页
第2页 / 共72页
数据处理技术.ppt_第3页
第3页 / 共72页
数据处理技术.ppt_第4页
第4页 / 共72页
数据处理技术.ppt_第5页
第5页 / 共72页
数据处理技术.ppt_第6页
第6页 / 共72页
数据处理技术.ppt_第7页
第7页 / 共72页
数据处理技术.ppt_第8页
第8页 / 共72页
数据处理技术.ppt_第9页
第9页 / 共72页
数据处理技术.ppt_第10页
第10页 / 共72页
数据处理技术.ppt_第11页
第11页 / 共72页
数据处理技术.ppt_第12页
第12页 / 共72页
数据处理技术.ppt_第13页
第13页 / 共72页
数据处理技术.ppt_第14页
第14页 / 共72页
数据处理技术.ppt_第15页
第15页 / 共72页
数据处理技术.ppt_第16页
第16页 / 共72页
数据处理技术.ppt_第17页
第17页 / 共72页
数据处理技术.ppt_第18页
第18页 / 共72页
数据处理技术.ppt_第19页
第19页 / 共72页
数据处理技术.ppt_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据处理技术.ppt

《数据处理技术.ppt》由会员分享,可在线阅读,更多相关《数据处理技术.ppt(72页珍藏版)》请在冰点文库上搜索。

数据处理技术.ppt

第7章数据处理技术,本章要点:

引言1.测量数据的预处理技术2.常用的几种数字滤波方法3.标度变换算法4.查表方法,5.本章小结,6.思考题,在计算机控制系统中,数据采集是最基本的一种模式。

一般是通过传感器、变送器把生产过程的各种物理参数转换成电信号,然后经A/D通道或DI通道,把数字量送入计算机中。

计算机在对这些数字量进行显示和控制之前,还必须根据需要进行相应的数据处理。

数据处理离不开数值计算,而最基本的数值计算为四则运算。

由于控制系统中遇到的现场环境不同,采集的数据种类与数值范围不同,精度要求也不一样,各种数据的输入方法及表示方法也各不相同。

因此,为了满足不同系统的需要,设计出了许多有效的数据处理技术方法,如预处理,数字滤波,标度变换,查表和越限报警等。

7.1测量数据预处理技术,对测量数据的予处理是计算机控制系统数据处理的基础,这包括数字调零技术、系统校准技术以及输入、输出数据的极性与字长的予处理技术。

7.1.1系统误差的自动校准,在控制系统的测量输入通道中,一般均存在放大器等器件的零点偏移和漂移,会造成放大电路的增益误差及器件参数的不稳定等现象,它们都会影响测量数据的准确性,这些误差都属于系统误差。

它的特点是在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。

因此,系统误差是可以通过适当的技术方法来确定并加以校正的,一般采用软件程序进行处理,即可对这些系统误差进行自动校准。

1.数字调零零点偏移是造成系统误差的主要原因之一,因此零点的自动调整在实际应用中最多,常把这种用软件程序进行零点调整的方法称为数字调零。

图7-1数字调零电路,数字调零电路如图7-1所示。

在测量输入通道中,CPU分时巡回采集1路校准电路与n路传感变送器送来的电压信号。

首先是第0路的校准信号即接地信号,理论上电压为零的信号,经放大电路、A/D转换电路进入CPU的数值应当为零,而实际上由于零点偏移产生了一个不等于零的数值,这个值就是零点偏移值N0;然后依次采集1、2、n路,每次采集到的数字量N1、N2、Nn值就是实际值与零点偏移值N0之和。

计算机要进行的数字调零就是做一次减法运算,使(Ni-N0)的差值成为本次测量的实际值。

很显然,采用这种方法,可去掉放大电路、A/D转换电路本身的偏移及随时间与温度而发生的各种漂移的影响,从而大大降低对这些电路器件的偏移值的要求,降低硬件成本。

2系统校准上述数字调零不能校正由传感器本身引入的误差。

为了克服这种缺点,可采用系统校准处理技术。

系统校准的原理与数字调零差不多,只是把测量电路扩展到包括现场的传感器,而且不是在每次采集数据时都进行校准,而是在需要时人工接入标准参数进行校准测量,把测得的数据存储起来,供以后实际测量使用。

一般自动校准系统只测一个标准输入信号VR,零点漂移的补偿仍由数字调零来完成。

麝鼠字调零后测得标准输入信号VR的数据为NR,而测得实际被测输设数字调零后测得标准输入信号VR的数据为NR,而测得实际被测输入信号V时的数据为N,则可按如下校准式来计算V。

(7-1),系统校准特别适于传感器特性随时间会发生变化的场合。

如电容式湿度传感器,其输入输出特性会随着时间而发生变化,一般一年以上变化会大于精度容许值,这时可每隔一段时间(例如3个月或6个月),用其它精确方法测出这时的湿度值,然后把它作为校准值输入测量系统。

在实际测量湿度时,计算机将自动用该输入值来校准以后的测量值。

7.1.2数据极性的预处理,控制系统中处理的信号很多是双极性的,如温度,压力、位置、角度信号等。

这就要求在实施控制时,不仅要考虑信号的幅度,还要考虑到信号的极性。

为此,在对A/D转换后的数据和D/A转换前的数据进行处理前,必须根据数据的极性先进行预处理,才能保证得到正确的结果。

系统中有的输入信号是单极性的,而输出信号则要求是双极性的,如流量、压力等控制回路;有的则是要求输入和输出信号都是双极性的,如位置、角度等控制回路。

下面就这两种情况分别加以讨论。

1输入、输出信号同为双极性在输入、输出都是双极性信号的控制系统中,程序处理的输入和输出数据不仅反映信号幅度的大小,,也反映信号的极性。

假设信号的变化范围为-5V+5V,信号经A/D转换得到的数字量为00HFFH数字量的最高位D7表示信号的极性。

当D70时,表示输入信号为负极性,即数字量00H7FH表示-5V0V的模拟信号;当D71时,表示输入信号为正极性,即数字量7FHFFH表示0V+5V的模拟信号。

在由双极性信号组成的闭环定值控制系统中,设给定信号为R,采样输入信号为Z,则偏差值E=R-Z。

因为R和Z的值对应的是双极性信号,所以偏差值E也是双极性信号,因此在参加运算前也必须进行预处理才能保证最终结果的正确。

预处理的规则:

如果偏差值的绝对值大于80H(此为无符号数),则偏差信号取最大值,即信号极性为,负时取00H,信号极性为正时取FFH。

否则,将运算结果直接作为偏差信号。

2输入、输出信号分为单双极性在控制系统中,有时会出现输入信号和给定信号是单极性的,即数字量00HFFH对应同极性的信号,如0+5V;而输出信号则要求是双极性的,即数字量00HFFH对应的是双极性的,如-5V5V。

这类系统的数据预处理与双极性的输入输出系统的方法相同,由于系统的输入是单极性的,因此不必判断极性,只需根据偏差值的大小和符号判断即可。

系统的数据预处理程序流程图如图7-2所示。

图7-2输入单极性输出双极性的数据预处理程序流程图,7.1.3数据字长的预处理在计算机控制系统中经常会出现数据字长不一致的情况。

如有的系统采用12位A/D转换器采样数据,而输出采用8位D/A转换器;有的系统使用8位A/D转换器进行采样,而为了提高计算的精度,采用双字节运算程序计算。

为了满足不同的精度要求,数据在进行数字滤波、标度变换和控制运算后必须对数字量的位数加以处理。

1.输入位数大于输出位数当输入器件的分辨率高于输出器件时,如采用10位A/D转换器采样,而CPU把处理后的10位二进制数通过8位D/A转换器输出,就会出现输入位数大于输出位数的情况。

对输入位数大于输出位数的处理方法就是忽略高位数的最低几位。

如:

10位A/D转换器的输入值为0011111010,此值经处理后送入8位D/A转换器的值就变为00111110。

这在计算机中通过向右移位的方法是很容易实现的。

由于10位A/D转换器的采样分辨率要比8位A/D转换器高的多,因此,虽然舍去了最低的两位数会产生一定的误差,但这一误差仍比采用8位输入8位输出系统的误差小。

2输入位数小于输出位数当输入器件的分辨率比输出器件低时,如采用8位A/D转换器采样,而通过10位D/A转换器进行输出,就会出现输入位数小于输出位数的情况,输入位数小于输出位数的最好处理方法是:

将8位数左移两位构成10位数,10位数的最低两位用“0”填充。

如;转换前的8位输入值为:

;转换后的10位输出值为:

00。

这种处理方法的优点在于构成的10位数接近10位A/D转换器的满刻度值,其误差在10位数字量的3个步长电压之内。

7.2数字滤波方法,由于工业生产的现场环境非常恶劣,各种干扰源很多,计算机系统通过输入通道采集到的数据信号,虽经硬件电路的滤波处理,但仍会混有随机干扰,噪声。

因此,为了提高系统性能,达到准确的测量与控制,一般情况下还需要进行数字滤波。

数字滤波,就是计算机系统对输入信号采样多次,然后用某种计算方法进行数字处理,以削弱或滤除干扰噪声造成的随机误差,从而获得一个真实信号的过程。

这种滤波方法只是根据预定的滤波算法编制相应的程序,实质上是一种程序滤波。

因而可靠性高,稳定性好,修改滤波参数也容易,而且一种滤波子程序可以被多个通道所共用,因而成本很低。

另外,数字滤波可以对各种干扰信号,甚至极低频率的信号进行滤波。

它的不足之处是需要占用CPU的机时。

总之,数字滤波与硬件滤波器相比优点甚多,因此得到了普遍的应用。

常用的数字滤波方法有:

平均值滤波、中值滤波、限幅滤波和惯性滤波等。

7.2.1平均值滤波平均值滤波就是对多个采样值进行平均算法,这是消除随机误差最常用的方法。

具体又可分为如下几种。

1.算术平均滤波算术平均滤波是在采样周期T内,对测量信号y进行m次采样,把m个采样值相加后的算术平均值作为本次的有效采样值,即,(7-2),采样次数m值决定了信号的平滑度和灵敏度。

提高m的值,可提高平滑度,但系统的灵敏度随之降低,采样次数m的取值随被控对象的不同而不同。

一般情况下,流量信号可取10左右,压力信号可取4左右,温度、成分等缓变信号可取2甚至不进行算术平均。

在编制算法程序时,m一般取2、4、8等2的整数幂,以便于用移位来代替除法求得平均值。

这种算法适用于对周期性干扰的信号滤波,1.去极值平均滤波算术平均滤波不能将明显的偶然的脉冲干扰消除,只是把其平均到采样结果中,从而降低了测量精度。

去极值平均滤波是对连续采样的m个数据进行比较,去掉其中的最大值与最小值,然后计算余下的m-2个数据的算术平均值。

在编制算法程序时,为便于用移位来代替除法求得平均值,m-2应取2、4、8等,故m取4、6、10等。

这种算法适用于工业场合经常遇到的尖脉冲干扰的信号滤波。

2.加权平均滤波算术平均滤波和去极值平均滤波都存在平滑性和灵敏度的矛盾。

采样次数太少则平滑效果差,次数太多则灵敏度下降,对测量参数的变化趋势不敏感。

为协调两者关系,可采用加权平均滤波。

加权平均滤波是对每次采样值不以相同的权系数而以增加新鲜采样值的权重相加。

(7-3),式中,第m次为最新值,C1、C2、Cm为加权系数,先小后大,且均为小于1但总和等于1的小数,即满足下式,C1+C2+Cm=1CmCm-1C10,C1、C2、Cm的取值应视具体情况选取,并通过调试确定。

例如,某纯滞后时间为的被控对象,采用m=4的加权平均滤波算式为,=C1y1+C2y2+C3y3+C4y4,式中权系数,这种算法能协调系统的平滑度和灵敏度的矛盾,提高灵敏度,更适用于纯滞后较大的对象。

4滑动平均滤波前三种的平均滤波算法有一个共同点:

即每取得一个有效采样值必须连续进行若干次采样。

当系统的采样速度较慢或采样信号变化较快时,系统的实时性就无法得到保证。

滑动平均滤波是在每个采样周期只采样一次,将这一次采样值和过去的若干次采样值一起求平均,所得结果即为有效采样值。

具体作法可由循环队列结构方式来实现数据的存放,比如取m个采样值求滑动平均,只要在RAM中开辟m个数据暂存区,每次新采集一个数据便存入暂存区的队尾,同时冲掉队首的一个数据,这样在存储器队列中始终保持有m个最新的数据。

滑动平均滤波算法流程图如图7-7所示。

而滑动平均滤波算法的最大优势就是实时性好,提高了系统的响应速度。

7.2.2中值滤波中值滤波是将信号y的连续m次采样值按大小进行排序,取其中间值作为本次的有效采样值。

本算法为取中值,故采样次数m应为奇数,一般35次即可。

编制中值滤波的算法程序,首先把m个采样值从小到大(或从大到小)进行排队,这可采用几种常规的排序算法如冒泡算法,然后再取中间值。

中值滤波对缓变过程中的偶然因素引起的波动或采样器不稳定造成的误差所引起的脉动干扰比较有效,而对快速变化过程(如流量)的信号采样则不适用。

7.2.3限幅滤波经验说明,生产过程中许多物理量的变化需要一定的时间,因此相邻两次采样值之间的变化幅度应在一定的限度之内。

限幅滤波就是把两次相邻的采样值相减,求其增量的绝对值,再与两次采样所允许的最大差值Y进行比较,如果小于或等于Y,表示本次采样值y(k)是真实的,则取y(k)为有效采样值;反之,y(k)是不真实的,则取上次采样值y(k1)作为本次有效采样值。

当|y(k)y(k1)|Y时,则取y(k)=(k)当|y(k)y(k1)|Y时,则取y(k)=y(k-1),式中:

y(k)t=kT时的采样值;y(K-1)t=(k-1)T时的采样值;,Y相邻两次采样值所允许的最大偏差,其大小取决于控制系统采样周期T和信号Y的正常变化率。

限幅滤波对随机干扰或采样器不稳定引起的失真有良好的滤波效果。

7.2.4惯性滤波惯性滤波是模拟硬件RC低通滤波器的数字实现。

常用的RC滤波器的传递函数是,(7-5),其中,Tf=RC是滤波器的滤波时间常数,其大小直接关系到滤波效果。

一般说来,Tf越大,则滤波器的截止频率(滤出的干扰频率)越低,滤出的电压纹波较小,但输出滞后较大。

由于大的时间常数及高精度的RC电路不易制作,所以硬件RC滤波器不可能对极低频率的信号进行滤波。

为此可以模仿式(7-5)中硬件RC滤波器的特性参数,用软件做成低通数字滤波器,从而实现一阶惯性的数字滤波。

将式(7-5)写成差分方程,(7-6),整理后得,(7-7),式中:

y(k)第k次采样的滤波输出值;x(k)第k次采样的滤波输入值,即第k次采样值y(k-1)第(k-1)次采样的滤波输出值;a滤波系数a=T/(Tf+T)T采样周期Tf滤波环节的时间常数一般T远小于Tf,即远小于1,表明本次有效采样值(滤波输出值)主要取决于上次有效采样值(滤波输出值),而本次采样值仅起到一点修正作用。

通常,采样周期T足够小,则aT/Tf,滤波算法的截止频率为,(7-8),当采样周期T一定时,滤波系数a越小,数字滤波器的截止频率f就越低。

例如当T=0.5秒(即每秒采样2次),a=1/32时:

f=(1/32)/(23.140.5)0.01Hz,这对于变化缓慢的采样信号(如大型贮水池的水位信号),其滤波效果是很好的。

惯性滤波器的程序编制可按式(7-7)进行。

设计时,应根据采样周期与截止频率适当选取a值,使得滤波器的输出既无明显纹波,又不太滞后。

显然,该算法比较简单,比起平均值滤波法要快,能很好地消除周期性干扰和较宽频率的随机干扰信号。

以上讨论了几种数字滤波方法,各有其特点。

在实际应用中,究竟采用不采用、以及采用哪一种数字滤波,都应视具体情况而定。

可能有的系统并不需要进行数字滤波或者应用得不恰当,非但达不到滤波效果还会降低控制品质,而有的系统采用了复合滤波方法即把几种滤波方法结合起来使用,可能会取得更好的滤波效果。

7.3标度变换算法,生产中的各种参数都有着不同的量纲和数值,但在计算机控制系统的采集、A/D转换过程中已变为无量纲的数据,当系统在进行显示、记录、打印和报警等操作时,必须把这些测得的数据还原为相应量纲的物理量,这就需要进行标度变换。

CPU读入该数字信号在送到显示器进行显示以前,必须把这一无量纲的二进制数值再还原变换成原量纲为的温度信号。

比如,最小值00H应变换对应为0、最大值FFH应变换对应为1200。

图7-3标度变换原理图,这个标度变换的过程是由算法软件程序来完成的,标度变换有各种不同的算法,它取决于被测参数的工程量与转换后的无量纲数字量之间的函数关系。

一般而言,输入通道中的放大器、A/D转换器基本上是线性的,因此,传感器的输入输出特性就大体上决定了,链接动画,这个函数关系的不同表达形式,也就决定了不同的标度变换方法。

主要方法有:

线性式变换、非线性式变换、多项式变换以及查表法。

7.3.1线性式变换,线性标度变换是最常用的标度变换方式,其前提条件是传感器的输出信号与被测参数之间呈线性关系,如图7-4所示。

链接动画,图7-4线性关系的标度变换,数字量Nx对应的工程量Ax的线性标度变换公式为:

(7-9),式中:

A0一次测量仪表的下限(测量范围最小值);Am一次测量仪表的上限(测量范围最大值);Ax实际测量值(工程量);N0仪表下限所对应的数字量;Nm仪表上限所对应的数字量;Nx实际测量值所对应的数字量。

式(7-9)为线性标度变换的通用公式,其中A0,Am,N0,Nm对某一个具体的被测参数与输入通道来说都是常数,不同的参数有着不同的值。

为使程序设计简单,一般把一次测量仪表的下限A0所对应的A/D转换值置为0,即N00。

这样式(7-9)可写成:

(7-10),在很多测量系统中,仪表下限值A00,此时进一步简化为,(7-11),式(7-9)、(7-10)和(7-11)即为在不同情况下的线性标度变换公式。

据此,编程用的标度变换子程序公式分别简化为:

(7-12),其中,(7-13),其中,其中,例:

某加热炉温度测量仪表的量程为200800,在某一时刻计算机系统采样并经数字滤波后的数字量为CDH,求此时的温度值是多少?

(设该仪表的量程是线性的)。

解:

根据式(7-10)已知,A0=200,Am=800,Nx=CDH=(205)D,Nm=FFH=(255)D。

所以此时的温度为,=682,7.3.2非线性式变换,如果传感器的输出信号与被测参数之间呈非线性关系时,上面的线性变换式均不适用,需要建立新的标度变换公式。

由于非线性参数的变化规律各不相同,故应根据不同的情况建立不同的非线性变换式,但前提是它们的函数关系可用解析式来表示。

例如,在差压法测流量中,流量与差压间的关系为:

(7-15),式中:

Q流体流量;,K刻度系数,与流体的性质及节流装置的尺寸有关;,链接动画,P节流装置前后的差压。

可见,流体的流量与被测流体流过节流装置前后产生的压力差的平方根成正比,于是得到测量流量时的标度变换公式为,(7-16),式中:

Q0差压流量仪表的下限值;Qm差压流量仪表的上限值;Qx被测液体的流量测量值;,N0差压流量仪表下限所对应的数字量;Nm差压流量仪表上限所对应的数字量;Nx差压流量仪表测得差压值所对应的数字量。

对于流量仪表,一般下限皆为0,即Q00,所以上式可简化为,(7-17),若取流量表的下限对应的数字量N00,便可进一步简化为:

(7-18),式(7-16)、(7-17)、(7-18)即为不同初始条件下的流量标度变换公式。

与线性标度变换公式一样,由于Qo、Qm、N0、Nm都是常数,故以上三式可分别简化为编程用的标度变换子程序公式。

(7-19),其中,(7-20),其中,(7-21),其中,7.3.3多项式变换,还有些传感器的输出信号与被测参数之间虽为非线性关系,但它们的函数关系无法用一个解析式来表示,或者解析式过于复杂而难于直接计算。

这时可以采用一种既计算简便又能满足实际工程要求的近似表达式插值多项式来进行标度变换。

插值多项式是用一个n次多项式来代替某种非线性函数关系的方法。

其插值原理是:

被测参数y与传感器的输出值x具有的函数关系为y=f(x),只知道在n+1个相异点处的函数值为:

f(x0)=y0,f(x1)=y1,f(xn)=yn。

现构造一个n次多项式Pn(x)=anxn+an-1xn-1+a1x+a0去逼近函数y=f(x),把y=f(x)中这n+1个相异点处的值作为插值代入n次多项式Pn(x),便可以获得n+1个一次方程组:

式中x0,x1,xn是已知的传感器的输出值,y0,y1,yn是被测参数,可以求出n+1个待定系数a0、a1、,an,从而构造成功一个可代替这种函数关系的可插值多项式Pn(x)。

下面用热敏电阻测量温度的例子来说明这一过程。

热敏电阻具有灵敏度高、价格低廉等特点,但是热敏电阻的阻值与温度之间的关系是非线性的,而且只能以表7-1的方式表示。

现构造一个三阶多项式P3(R)来逼近这种函数关系。

取三阶多项式为t=P3(R)=a3R3+a2R2+a1R+a0并取t=10,17,27,39这4点为插值点,便可以得到以下方程组:

解上述方程组,得a3=0.2346989a2=6.120273a1=59.28043a0=212.7118因此,所求的逼近多项式为t=0.2346989R3+6.120273R259.28043R+212.7118,这就是用来标度变换的插值多项式,将采样测得的电阻值R代入上式,即可获得被测温度t。

显然,插值点的选择对于逼近的精度有很大的影响。

通常在函数y=f(x)的曲线上曲率大的地方应适当加密插值点。

一般来说,增加插值点和多项式的次数能提高逼近精度。

但同时会增加计算时间,而且在某些情况下反而可能会造成误差的摆动;另一方面,对于那些带拐点的函数,如果用一个多项式去逼近,将会产生较大的误差。

为了提高逼近精度,且不占用过多的机时,较好的方法是采用分段插值法。

分段插值法是将被逼近的函数根据其变化情况分成几段,然后将每一段区间分别用直线或抛物线去逼近。

分段插值的分段点的选取可按实际曲线的情况灵活决定,既可以采用等距分段法,又可采用非等距分段法。

如上例热敏电阻温度t与阻值R的插值多项式,其计算量较大,程序也较复杂。

为使计算简单,提高实时性,可采用分段线性插值公式或称分段线性化的方法,即用多段折线代替曲线进行计算。

图7-5热敏电阻特性及分段线性化,根据表7-1中的数据制成图7-5所示的热敏电阻特性及分段线性化,图中曲线为热敏电阻的负温度-电阻特性,折线L0、L1、L2代替或逼近曲线。

当获取某个采样值R后,先判断R的大小处于哪一折线段内,然后就可按相应段的线性化公式计算出标度变换值。

其计算公式是:

k0(R-R0)+t3R0RR1t=k1(R-R1)+t2R1RR2k2(RR2)+t1R2RR3式中k0、k1、k2分别为线段L0、L1、L2的斜率。

同样,分段数越多,线性化精度越高,软件开销也相应增加。

分段数应视具体情况和要求而定。

当分段数多到线段缩成一个点时,实际上就是另一种方法查表法。

7.3.4查表法,所谓查表法就是把事先计算或测得的数据按照一定顺序编制成表格,查表程序的任务就是根据被测参数的值或者中间结果,查出最终所需要的结果。

它是一种非数值计算方法,利用这种方法可以完成数据的补偿、计算、转换等各种工作。

比如输入通道中对热电偶特性的处理,可以用非线性插值法进行标度变换,也可以采用精度更高效果更好的查表法进行标度变换利用热电偶的mV-分度表,通过计算机的查表指令就能迅速便捷地由电势mV值查到相应的温度值;当然控制系统中还会有一些其它参数或表格也是如此,如对数表、三角函数表、模糊控制表等。

查表程序的繁简程度及查询时间的长短,除与表格的长短有关外,很重要的因素在于表格的,排列方法。

一般来讲,表格有两种排列方法:

(1)无序表格,即表格中的数据是任意排列的;

(2)有序表格,即表格中的数据按一定的顺序排列。

表格的排列不同,查表的方法也不尽相同。

具体的查表方法有:

顺序查表法,计算查表法,对分搜索法等。

1顺序查表法,顺序查表法是针对无序排列表格的一种方法。

其查表方法类似人工查表。

因为无序表格中所有各项的排列均无一定的规律,所以只能按照顺序从第一项开始逐项寻找,直到找到所要查找的关键字为止。

顺序查表法虽然比较“笨”,但对于无序表格或较短表格而言,仍是一种比较常用的方法。

2计算查表法,在计算机数据处理中,一般使用的表格都是线性表,它是若干个数据元素X1,X2,Xn的集合,各数据元素在表中的排列方法及所占的存储器单元个数都是一样的。

因此,要搜索的内容与表格的排列有一定的关系。

只要根据所给的数据元素Xi,通过一定的计算,求出元素Xi所对应的数值的地址,然后将该地址单元的内容取出即可。

这种有序表格要求各元素在表中的排列格式及所占用的空间必须一致,而且各元素是严格按顺序排列。

其关键在于找出一个计算表地址的公式,只要公式存在,查表的时间与表格的长度无关。

正因为它对表格的要求比较严格,并非任何表格均可采用。

通常它适用于某些数值计算程序、功能键地址转移程序以及数码转换程序等。

3.对分查表法,在前面介绍的两种查表方法中,顺序查表法速度比较慢,计算查表法虽然速度很快,但对表格的要求比较挑剔,因而具有一定的局限性。

在实际应用中,很多表格都比较长,且难以用计算查表法进行查找,但它们一般都满足从大到小或从小到大的排列顺序,如热电偶mV-分度表,流量测量中差压与流量对照表等等。

对于这样的表格,通常采用快速而有效的对分查表法。

对分查表法的具体做法是:

先取数组的中间值Dn/2进行查找,与要搜索的X值进行比较,若相等,则查到。

对于从小到大的顺序来说,如果Xn/2项,则下一次取n/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2