MATLAB水塔流量的估计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

水塔水流量的估计

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

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

1.问题重述

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

f t,并估计一天的总用水量。水塔是一个垂直圆柱体,高为40英尺,直径为57英尺。

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

表1

2.问题分析

数据的单位转换:

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

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

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

3.模型假设

供水时段的假设

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

流量是对时间的连续函数,即()t h h =。为简化处理,不影响问题的解决,假设流量与水泵是工作无关。

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

水位对时间的变化率(流量): 任何时刻的流量: ()()S t h t f ⋅'=

4.流量估计

拟合水位-时间函数

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

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

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

5.算法设计与计算结果

dt

t dh h )

(=

'⎰⎰'-='=t

t t t dt

h S dt V V 0

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

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

f1=polyfit(t(1:10),h(1:10),5); %用5次多项式拟合第1用水时段水位()t h h 11=,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用水时段水位水位()t h h 22=,f2输出5次多项式的系数

b2=polyder(f2); %b2输出多项式(系数为f2)导数的系数,给出水位变化率 tm2=::; %将第二用水时段[ , ]细分

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

第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

相关文档
最新文档