当前位置:文档之家› MATLAB水塔流量的估计

MATLAB水塔流量的估计

百度文库 - 让每个人平等地提升自我

1 水塔水流量的估计

摘 要:数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。本文采用曲线拟合的方法,并利用数学软件MATLAB对水塔流量进行计算,计算结果与实际记录基本吻合。

关键词:建模,流量,拟合,MATLAB

1.问题重述

美国某州的各用水管理机构要求各社区提供用水率(以每小时多少加仑计,英制单位下,1加仑=,美制单位下,1加仑=)以及每天所用的总用水量,但许多社区并没有测量流入或流出当地水塔的水量的设备,而只能以每小时测量水塔的水位代替,其精度在%以内。更为重要的是,无论什么时候,只要水塔中的水位下降到某一最低水位L时,水泵就启动向水塔重新充水直至某一最高水位H,但也无法得到水泵的供水量的测量数据。因此,在水泵正在工作时,不容易建立水塔中水位与水泵工作时用水量之间的关系。水泵每天向水塔充水一次或两次,每次大约2小时。试估计在任何时候,甚至包括水泵正在工作的时间内从水塔流出的流量ft,并估计一天的总用水量。水塔是一个垂直圆柱体,高为40英尺,直径为57英尺。

下表给出了某个小镇某一天的真实数据:

表1

某小镇某天的水塔水位(1m=英尺)

时间(秒) 水位(英尺) 时间(秒) 水位(英尺) 时间(秒) 水位(英尺)

0 35932 水泵工作 68535

3316 39332 水泵工作 71854

6635 39435 75021

10619 43318 79154 水泵工作

13937 46636 82649 水泵工作

17921 49953 85968

21240 53936 89953

25223 57254 93270

28543 60574

32284 64554

百度文库 - 让每个人平等地提升自我

2 2.问题分析

数据的单位转换:

表2

时间(h) 水位(m) 时间(h) 水位(m) 时间(h) 水位(m)

0 水泵工作

水泵工作

水泵工作

水泵工作

流量是单位时间流出的水的体积,由于水塔是正圆柱形,横截面积是常数,在水泵不工作的时段,流量很容易从水位对时间的变化率算出,问题是如何估计水泵供水时段的流量。水泵供水时段的流量只能靠供水时段前后的流量拟合得到,作为用于拟合的原始数据,我们希望水泵不工作的时段流量越准确越好。这些流量大体可由两种方法计算: 一是直接对表2中的水位用数值微分算出各时段的流量,用它们拟合其它时刻或连续时间的流量。二是先用表中数据拟合水位-时间函数,求导数即可得到连续时间的流量。

一般说来数值微分的精度不高,何况测量记录还是不等距的,数值微分的计算尤其麻烦。下面我们用第二种方法处理。

有了任何时刻的流量,就不难计算一天的总用水量。其实,水泵不工作时段的用水量可以由测量记录直接得到,如表2可知从t=0到t=(h)水位下降了 (m),乘以水塔的截面积就是这一时段的用水量。这个数值可以用来检查拟合的结果。

3.模型假设

供水时段的假设

水泵第1次供水时段为t=9到t=11(h),第2次供水时段为t=到t=23 (h)。这是根据最低和最高水位分别是和及表2的水位测量记录作出的假设。其中前3个时刻取自实测数据(精确到),最后1个时刻来自每次供水约两小时的已知条件(从记录看,第2次供水时段应在有记录的之后不久结束)。水泵工作时单位时间的供水量基本为常数,这个常数大于单位时间的平均流量。流量是单位时间流出水的体积,这里假设百度文库 - 让每个人平等地提升自我

3 流量是对时间的连续函数,即thh。为简化处理,不影响问题的解决,假设流量与水泵是工作无关。

由于水塔截面积是常数S ,为简单起见,计算中将流量定义为单位时间流出的水的高度,即水位对时间变化率的绝对值(水位是下降的),最后给出结果时再乘以S即可。即:

水位对时间的变化率(流量):

任何时刻的流量: Sthtf

4.流量估计

拟合水位-时间函数

从表2 测量记录看,一天有两个供水时段(以下称第1供水时段和第2供水时段)和3个水泵不工作时段(以下称第1用水时段t=0到t=,第2用水时段t=到t=和第3用水时段t=23以后)。对第1、2用水时段的测量数据分别作多项式拟合,得到水位函数thh11和thh22。为使拟合曲线比较光滑,多项式次数不要太高,一般用3~6次。由于第3时段只有3个测量记录,无法对这一时段的水位作出比较好的拟合,可采用外推的办法解决。

确定流量-时间函数

对于第1、2用水时段,只需将水位函数2,1,ithhii求导数即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作时段)的流量拟合得到,并且将拟合得到的第2供水时段流量外推,将第3用水时段流量包含在第2供水时段内,需要拟合四个流量函数。

一天的总用水量

总用水量等于两个水泵不工作时段和两个供水时段用水量之和,它们都可以由流量对时间的积分得到。

5.算法设计与计算结果 dttdhh)(ttttdthSdtVV00百度文库 - 让每个人平等地提升自我

4 拟合第1、2时段的水位,并得出流量

1第1时段的流速

设t、h为已输入的时刻和水位测量记录,实现如下:

t=[0,,,,,,,,,,,,,,,,,,,,,,,];

h=[ ,,,,,,,,,,,,,,,,,,,,,,,];

f1=polyfit(t(1:10),h(1:10),5); %用5次多项式拟合第1用水时段水位thh11,f1输出5次多项式的系数

b1=polyder(f1); % b1输出多项式(系数为f1)导数的系数,给出水位变化率

tm1=0::; %将第一用水时段[0 , ]细分

g1=-polyval(b1,tm1); %g1输出多项式b1在tm1点的函数值(取负后边为正值),即tm1时刻的流量(水位下降的速率)。

2第2时段的流速

实现如下:

f2=polyfit(t(11:21),h(11:21),5); %用5次多项式拟合第2用水时段水位水位thh22,f2输出5次多项式的系数

b2=polyder(f2); %b2输出多项式(系数为f2)导数的系数,给出水位变化率

tm2=::; %将第二用水时段[ , ]细分

g2=-polyval(b2,tm2); %g2输出多项式(b2)在tm2点的函数值(取负后边为正值),即tm2时刻的流量(水位下降的速率) 百度文库 - 让每个人平等地提升自我

5 第1、2用水时段(水位变化率)曲线图:

拟合供水时段的流量

1

在第1供水时段(t = 9~11)之前(即第1用水时段)和之后(第2用水时段)各取几点,其流量已经得到,用它们拟合第1供水时段的流量。为使流量函数在t =9 和t =11连续,只取4个点,拟合5次多项式(即曲线必过这4个点)。拟合5次多项式,实现如下:

q1=-polyval(b1,[,]); %取第1时段在t=,的流量

q2=-polyval(b2,[,]); %取第2时段在t=,的流量

dx=[,,,];

dy=[q1,q2]; %将四个点合并

d=polyfit(dx,dy,5) ; %拟合5次多项式

ex=::; %将第一供水时段[,]细分

ey=polyval(d,ex); %ey输出第一供水时段各时刻的流量

2 百度文库 - 让每个人平等地提升自我

6 在第2供水时段之前取t =20,两点的水流量,在该时刻之后(第3用水时段)仅有3个水位记录,我们用差分得到流量,然后用这4个数值拟合第2供水时段的流量。实现如下:

dt3=diff(t(22:24)); %最后3个时刻的两两之差

dh3=diff(h(22:24)); %最后3个水位的两两之差

dht3=-dh3/dt3; % t(22)和t(23)的流量(差商代替微商)

t3=[,,t(22),t(23)]; %取第2供水时段前后各两点

a=[-polyval(b2,t3(1:2),dht3)]; %求得t3各时刻的流量

h=polyfit(t3,a,5); % 拟合5次多项式

mx=::; %将第2供水时段和第3用水时段细分

my=polyval(h,mx); % my输出第2供水时段(外推至t=24)各时刻的流量

第1供水时段,第2供水时段和第3用水时段(水位变化率)曲线图:

一天的总用水量的估计 百度文库 - 让每个人平等地提升自我

7 第1、2用水时段和第1、2供水时段流量的积分之和,就是一天总用水量。虽然诸时段的流量已表示为多项式函数,积分可以解析的算出,这里仍用数值积分计算。

(1)第1用水时间段的用水量:

其中积分值 h1 通过梯形公式计算:

计算得出0272.3631v

(2)第2用水时间段的用水量:

计算得出9356.6472v

(3)第1供水时间段的用水量:

计算得出3987.10612v

(4)第2供水和第3用水时段的用水量

计算得出7717.1463v

(5)一天总用水量 11111101010ShdthSdthSdtVvttttttNkkkNkttttththtdtthdtthhkk111111112)()()()(11022222323232ShdthSdthSdtVvttttttNkkkNkttttththtdtthdtthhkk121212222)()()()(1321212121212112121ShdthSdthSdtVvttttttNkkkNkttttththtdtthdtthhkk11211211212122)()()()(12133333434343ShdthSdthSdtVvttttttNkkkNkttttththtdtthdtthhkk031303332)()()()(10

相关主题