水塔水流量的估计一.实验问题
某居民区有一供居民用水的圆柱形水塔,一般可以通过测量其水位来估计水的流量。但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量。
通常水泵每天供水一次,每次约2h。
水塔是一个高为12.2m,直径为17.4m的正圆柱。按照设计,水塔水位降至约8.2m时,水泵自动启动,水位升到约10.8m时水泵停止工作。
表1是某一天的水位测量纪录(符号“//”表示水泵启动),试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量。
表1 水位测量纪录
二.问题分析
根据以上数据的形式和以往经验,适合采用线性拟合的方式进行数据处理。对第1、2、3未供水时段可直接进行用五次多项式进行拟合。对第1、2供水时段分别在两端各取两个点用前后时刻的流速拟合得到。结果可以用分段函数表示分为5段,分别是第一未供水时段,第一供水时段,第二未供水时段,第二供水时段,第三未供水时段。
得出流速之后再乘以水塔横截面积即得任何时刻与水塔流出水流量的关系,即流速与时间的关系。对流速进行分段积分并求和,即得一天的总水流量。
三.程序的设计与求解方法
1.数据的单位转换
水塔的横截面积为A=(17.4)^2*pi/4=237.0661(平方米)。
2.拟合水位——时间函数
(1)对第1未供水时段的数据进行拟合。
t=[0 0.92 1.84 2.90 3.87 4.98 5.90 7.00 7.93 8.97 10.95 12.03 12.95 13.88 14.98 15.90 16.83 17.93 19.04 19.96 20.84 23.88 24.99 25.91]
h=[ 9.68 9.48 9.31 9.13 8.98 8.81 8.69 8.52 8.39 8.22 10.82 10.50 10.21 9.94 9.65 9.41 9.18 8.92 8.66 8.43 8.22 10.59 10.35 10.18] f1=polyfit(t(1:10),h(1:10),5); tm1=0:0.1:9.0; y1=polyval(f1,tm1); plot(tm1,y1)
0123456789
8.2
8.48.68.899.29.49.6
9.8
(2)对第2未供水时段的数据进行拟合。
f2=polyfit(t(11:21),h(11:21),5); tm2=10.9:0.1:20.9;
plot(tm2,y2)
10
121416182022
88.5
9
9.5
10
10.5
11
3.确定流量——时间函数
(1)对第1,2未供水时段的水位求导可得流量,用5次多项式拟合第1,2未供水时段的流速与时间关系曲线。matlab等高线间隔
f1=polyfit(t(1:10),h(1:10),5); f2=polyfit(t(11:21),h(11:21),5); b1=polyder(f1); b2=polyder(f2); tm1=0:0.01:9.00; tm2=10.95:0.01:20.84; g1=-polyval(b1,tm1);
s1=trapz(tm1,g1);%计算第1未供水时段的总用水量
s2=trapz(tm2,g2); subplot(1,2,1) plot(tm1,g1) subplot(1,2,2) plot(tm2,g2)
5
10
0.15
0.160.17
0.180.190.20.210.22
0.23
0.2410152025
0.23
0.240.25
0.260.270.280.29
0.3
0.31
(2)为使流速函数在水泵开启时连续,取4个点,用5次多项式拟合得第1供水时段流速与时间关系曲线。
q1=-polyval(b1,[7.93 8.97]); q2=-polyval(b2,[10.95 12.03]); dx=[7.93 8.97 10.9 12.03]; dy=[q1,q2]; d=polyfit(dx,dy,5) ex=7.93:0.1:12.03;