相对湿度计算方法及其编程实现
第19卷第4期2004年8月
云南农业大学学报
JoumalofYunnanAgriculturalUniversity
V01.19No.4
Aug.2004
相对湿度计算方法及其编程实现
徐丽芬1,黄晓因2
(1.云南农业大学农学与生物技术学院,云南昆明650201;2.云南农业大学基础与信息工程学院,云南昆明650201)
摘要:阐述了相对湿度的计算。通过对湿度查算表湿度、干球温度、二F湿球温差数据间关系的分析研究,提出一种根据湿度基准值进行二次线性插值求得湿度测量值的计算方法。并给出了计算方法的C语言程序。本方法简便、准确,如计算结果四舍五入保留整数,则与湿度查算表数值完全吻合。实验表明:应用此方法的实时测湿系统,其湿度测量精度主要取决于温度测量精度。关键词:计算方法;程序;湿度;温度;干湿球温差中图分类号:TB
943
文献标识码:A文章编号:1004—390X(2004)04一0467—03
OneCalculation
Method
forRelative
HumidityandtheProgrammingRealization
XULi—fenl.HUANGXiao-yin2
(1.CollegeofAgronomyandBiotechnology,YAU,Kunming650201,China;
2.CollegeofBasicScienceandInformationEngineering,YAU,Kunming650201,China)
Abstract:Therelativehumiditycalculationwasmentioned.Therelationamonghuinidity,dry—bulbtempera-tureand
damp
on
bulbtemperaturecontrastofthehumiditytableWasbasicdataWasbrought
analysed
andthelinearinsertionmethod
whichbased
forward.The
calculationmethodincomputer
incalculationandif
language
a
CWasgiven.
This
calculationmethodisnotonlysimplebutalsoaccurate
to
calculationresultis
roundeditwillequal
measureprecisionmethodisapplied.
theresultobtainedfromthehumiditymainly
on
table.The
test
indicatesthatthehumidity
dependsthetemperaturemeasureprecisionwhenthereal-timesystemfromthis
Keywords:calculation
Method;program;humidity;temperature;damp
bulbtemperaturecontrast
干湿球测湿法是在测得干、湿球温度后,用以
湿度查算表¨j。随着计算机的发展与普及,湿度测量逐渐被计算机代替。计算机对湿度的测量有2种方式:一种是间接测量,干、湿球温度值仍由人工
观测获得,然后把观测数据输入至按(1)式编程计
下公式…1计算得到相对湿度:
(1)
et
u:血堂×100
U:相对湿度%;e。:湿球温度下的饱和水汽压;e.:干球温度下的饱和水汽压;A:常数,与风速有关;P:大气压力;△t:干湿球温差。
为便于人工观测记录,中央气象局曾根据(1)
算的计算机得到湿度值;另一种是测量与计算都由
计算机自动完成的实时测量系统,实时系统无须人工干预,实时性强,但数据处理能力较差。(1)式虽
式以0.1℃分辨率做出一个包含几十万个数据的
*收稿日期:2003—07—08
然在形式上比较简单,但需查饱和水气压表才能计
作者简介:徐丽芬(1957一),女,云南省宣威市人,实验师,主要从事农业气象实验教学与研究。
第4期
徐丽芬,等:相对湿度计算方法及其编程实现
467
算出相对湿度。为便于计算机计算,一些研究人员提出了各自的计算水平面饱和水气压的计算公式[2'3],大都复杂难算,其中Lowe的高次多项式因
算式相对简单、精确度较高,目前在计算机中使用
得最为普遍,其表达式如下[4j:
e£=Co+ClT+C2∥+C3∥+C4r+C5P+C6严
(2)
式中:Co=0.610
7799961
X
10~,C1=0.443
6518521,C2=0.1428945805×10~,C3=0.2650648471×10~,C4=0.3031240396×10~,C5=0.2034080948X
10~,C6=0.6136820929×
10~0.
可见,I_owe多项式系数浮点数位数多,对计算机数据处理能力有很高要求,所以在实时系统(如单片微机系统)中使用此公式使编程难度增加,并且不可避免会产生较大误差。
笔者对查算表的u(相对湿度)、t(干球温度)、
100
80
量60恻赠
蒌40
20
O
10
20
30
40
50
千球温度t/℃图l
固定At时t与U的关系曲线
Fig.1
Therelation
Clll~e
oft
andUfixing
A
t
①将△t,t平面区域(0℃≤△t≤10oC,0
oC
≤t≤48
oC)做分划:0=△to<…<△屯<△屯+i…
<△tlO=10,0=ti<…<ti<ti+1<…<t25=48
(△t产ati一1+1,ti=tj—l+2),由查算表查得网点(△ti,£i)对应的湿度值ui(tj)作为基准值(i=0,
1,…,lO;j=0,1,…,24),共有11行、25列275个基准值。
△£(干湿球温差)数据问关系进行了分析研究,提
出一种插值计算方法,此法不仅计算简便,而且准
确度高(与湿度查算表数据吻合)。
1
湿度计算方法研究
由(1)式,如A和P保持不变,则U是关于△t
和t的二元函数,在几何上表现为一张关于△t和t
平面区域的曲面,此曲面形状复杂,直接插值计算很困难。为此,先分析分别固定△t和t时单变量的情形:把查算表数据标在坐标纸上并连接成曲线,图1是固定△t时t与u的关系,由图可见,曲线具有明确稳定的变化趋势,形如大圆弧状,图2是固定£时a£与U的关系,形状极接近于直线。根据这些特点并经反复验算,我们采用了二次分段
线性插值计算,这样一来,就把一个原本复杂的曲面问题,转化为简单的直线问题,从而使得计算和
编程大为简化。其方法步骤如下:
∞∞
永
\
{哒∞
赠筱窭
如粕
。
干湿球温差△t/'C
图2
固定t时△t与U的关系曲线
Fig.2
Therelation
ellrVe
of△£andUfixing
t
②对测得的△to和to(设△tl—l≤△to≤△ti,£,一1≤to≤tj.),得到邻近的的两组(4个)基准值Ui—l(o『_1),Ui一1(oi)和Ui(‘卜1),U。(‘f).连接
[tj—l,以一l(tj一1)],[£f,Ui一1(‘f)]两点得到线段L1,由线性方程式(3)式计算得to时L1上的以一。
(to),同理,连接[‘卜1,Ui(t,一1)],[tj,Ui(tj)]两点得到线段L2,由(3)式计算得£o时12上的阢(to);
468
云南农业大学学报
第19卷
于是由[△tf—l,以一1(to)]、[△ti,Ui(to)]两点又得以(8.2)=51.3;再由(3,63.2),(4,51.3)两点根据
到线段L3,再根据(3)式求得△to时L3上的UAto
(3)求得%.4(8.2)=58.44(查算表值为58)。
(to).
ui(to):ui(。一。)+—!曼‘气:;}掣(t。一tj一。)
2
湿度计算的C语言程序及准确度验证
以下是实现以匕湿度计算方法的C语言程序:
(3)
float
fun(intz1,intx2,floatyl,floaty2,floatt)
以上计算过程,进一步举例说明如下:设测得
//线性插值计算函数。
干湿球温差△to=3.4℃,干球温度to=8.2℃,因
{float
y;
为3<△to<4,8<to<10,得到两组基准值63,65
Y=yl+(t—x1)×(),2一),1)/(x2一x1);和51,54,将(8,63)、(10,65)两点代入(3),得到乩
return(y);}(8.2)=63.2,(8,51),(10,54)两点代入(3),得到
main()//主函数
{int
0111t25
J={{100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
100,100,100,100,100,100},
{82,84,85,86,87,88,89,90,90,9l,9l,92,92,92,93,93,93,93,94,94,94,94,94,94,94},{65,68,70,73,75,76,78,79,81,82,83,83,84,85,85,86,86,87,87,88,88,89,89,89},{47,52,56,60,63,65,68,70,71,73,74,76,77,78,78,79,80,8l,81,82,82,83,83,84,84},{31,37,42,47,51,54,57,60,62,65,66,68,69,7l,72,73,74,75,76,76,77,78,78,79,79},{14,22,27,35,40,44,48,51,54,56,59,61,62,“,65,67,68,69,70,71,72,72,73,74,74},{O,8,16,23,28,34,38,42,46,49,51,54,56,58,59,61,62,64,65,66,67,68,68,69,70},{0,0,3,11,18,24,29,33,37,41,44,47,49,51,53,55,57,58,60,61,62,63,64,65,65},{0,0,O,O,7,14,20,25,30,34,37,40,43,46,48,50,52,53,55,56,57,58,59,60,61},{O,O,O,O,0,5,1l,17,22,27,30,34,37,40,42,44,46,48,50,51,53,54,55,56,57},{0,0,0,0,O,0,3,9,15,20,24,28,31,34,37,39,42,44,45,47,48,50,51,52,53}};
inti,J,t1,t2,k1,k2;
用一赋值语句引人气压订正计算式…,然后对输入float“,“1,u2,t,tr;
的气压值通过计算式计算后对湿球温度值订正即
prinff(“inputt,tr:n”);
可。
scarf(“%厂,%/”,鼢,&tr);/偷入干球温度,
用以上程序计算获得的U值,与查算表对比干湿球温差
(表1是任取的10组对比数据),最大绝对误差仅i=tr/1;kl=1*i;k2=kl+1;.『=t/2;tl=2
o.46,如四舍五入取整数与查算表保持一致,则与查*.『;t2=t1+2;//计算数组元素的行标和列标。
算表结果完全吻合!可见计算准确度是令人满意的。
ul=fun(tl,t2,“i][J],口[i][_『+1],t);
3
讨论
//调函数求出以一l(to)和矾(to)
u2=fun(tl,t2,口[i+1][J],口[i+1][J+1],
由于C语言具有良好的可移植性,以上程序t);
不但适用于在计算机上间接测量相对湿度,也可容“=fun(kl,k2,ul,u2,tr);//调函数求出
易地移植到实时测量系统中。事实上,我们已按照U△k(to)
这种做法把本文计算方法应用于MCS一51系列单printf(“M=ok0.2f/n”,M);}偷出U△“
片机实时测湿系统,并取得了满意的效果。实践表(to)
明,系统的相对湿度测量误差主要来源于系统的温
本程序未涉及气压订正,如大气压不等于
度测量误差。
1000
hPa,则须进行气压订正,此时只要在程序中
(下转第473页)
第4期王瑞杰,等:液压传动自动出卷系统的设计与实现
473
[J].中国林业教育,2003,(1):13—14.
[6]龚伟,赵郡.用VISUAL
BASIC
ASP
ACCESS
21302制作
[2]唐晓初,张旭,张燕.工程制图试题库建设使用发展
考试系统[M].北京:人民邮电出版社,2003.
历程[J].化工高等教育,2(,103,(1):70—71.[7]牛晚扬,杜红,牛彦.应用VB进行OLE对象数据的自
[3]
毛一凡,姚景顺.专业技术考核自动出卷系统的数据动排版[J].沈阳建筑工程学院学报,2001,17(1):55
库开发[J].计算机运用研究,2003,(8):127—129.—58.
[4]段兴.VISUAl.BASIC6.0数据库实用程序设计100例
[8]任燕舞.一个通用试题库管理系统的设计及其在VB
[M].北京:人民邮电出版社,2003.中的实现[J].长沙大学学报,2000,14(2):53—56.[5]
范国平,陈晓鹏.Access2(102数据库系统开发实例导[9]李岩.VB+ACCESS题库系统的设计[J】.青岛大学
航[M].北京:人民邮电出版社,2002.
学报,2000,13(4):81—85.
壬∈*∈∈—e∈t5-t兰-o《岳∈{∈∈{}∈∈{_EX等∈岳_∈{{X}∈∈_E{H}}c{暑∈{{_E普芒芒{{_EX}∈∈rE玉X}毛}∈暑毛{_EX};∈{毫{隹奠}}∈E_EX}∈∈{_EXX}∈∈_∈∈.E笔H基}∈∈-∈E}
(上接第468页)
表1
计算值与查算表值对比
Tab.1
Calculationdatacomparingwith
datasheet
%
温度t
温差△t
计算u值查表u值绝对误差
温度t
温差△t计算u值查表u值绝对误差
8.30.988.54890.468.23.458.44
58—0.44
16.82.874.1274—0.1241.50.994.60
950.40
41.50.994.60
950.40
36.15.766.55670.454】953.40
53—0.40
16.27.136.7037
0.3027
6.5
55.25
55
0.25
31.2
9.3
43.88
44
0.12
[5]李岳生,黄友谦.数值逼近[M].北京:人民教育出版[参考文献]
社,1978.
[1]
中央气象局.湿度查算表[M].北京:气象出版社,
陈丽英.计算机制作地面月报表的一些输入问题1980.
[J],广西气象,2000,(9):30—31.
[2]李隽智.智能空气湿度测量中的数学模型[J].电子
[7]李惠敏,郝馨,苗淑敏.交变湿热室测控系统设计测量技术,1991,(3):17—21.
[J].电子测量技术,2001,(2):12—13.
[3]邹晓勇,彭清静.由干湿球温度计算相对湿度的简捷
潘守文,李水康,马开玉,等.现代气候学原理[M].法[J].无机盐工业,1998,(9):20—21.
北京:气象出版社,1994.
[4]何小娟.用非线性映象法作钦州市月降水量预报的
[9]黄嘉佑.气象统计分析与预报方法[M].北京:气象研究[J],广西气象,2003,(1):56.
出版社,1990.