估计水塔的水流量

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

估计水塔的水流量

1、问题提出:

某地区用水管理机构需要对居民的用水速度(单位时间的用水量)和日总用水量进行估计。现有一居民区,其自来水是由一个圆柱形水塔提供,水塔高12.2m,塔的直径为17.4m。水塔是由水泵根据水塔中的水位自动加水,一般水泵每天工作两次,按照设计,当水塔中的水位降至最低水位,约8.2m时,水泵自动启动加水;当水位升高到最高水位,约10.8m时,水泵停止工作。

表1给出的是某一天的测量数据,测量了28个时刻的数据,但由于水泵正向水塔供水,有三个时刻无法测到水位(表中用—表示),试建立数学模型,来估计居民的用水速度和日用水量。

表1 水塔中水位原始数据

2、问题分析:

日用水量用水速度

每个时刻水塔中水的体积

3、模型假设:

影响水从水塔中流出的流量的唯一因素是公众对水的传统要求;

水塔中的水位、气候条件、温度变化等不影响水流量的大小;

水泵充水速度水塔的水流量与水泵状态独立;

恒定,且远大于水塔的水流速度;

水流量曲线是一条连续光滑的曲线;

表1数据是准确的;

4、模型的建立与求解:

(1)、水塔中水的体积

其中, ,(r 为底面半径,d 为水面高度)

(2)在Matlab 命令窗口直接运行(不包括未知三点)

>>t=[0,0.921,1.843,2.949,3.871,4.978,5.900,7.006,7.928,8.967,10.954,12.032,12.954,13.875,14.982,15.903,16.826,17.931,19.037,19.959,20.839,22.958,23.880,24.986,25.908];

>>v=[2301.1,2254,2213.3,2169.8,2135.8,2095.9,2065.4,2027.1,1994.6,1954.6,2572.9,2496.8,242

7.8,2362.7,2295.4,2237.3,2182.9,2121.3,2059.7,2005.3,1954.6,2572.9,2518.4,2462.0,2420.7]; >> scatter(t,v)

得到

水塔中水体积的散点图 0510********

1900

2000

2100

2200

2300

2400

2500

2600

(3)在Matlab 中编写脚本文件(不包括未知三点)

采用数值微分的一阶微商的两点公式(末位处近似为sd(n)=sd(n-1))

t=[0,0.921,1.843,2.949,3.871,4.978,5.900,7.006,7.928,8.967,10.954,12.032,12.954,13.875,14.982,15.903,16.826,17.931,19.037,19.959,20.839,22.958,23.880,24.986,25.908];

v=[2301.1,2254,2213.3,2169.8,2135.8,2095.9,2065.4,2027.1,1994.6,1954.6,2572.9,2496.8,2427.8,2362.7,2295.4,2237.3,2182.9,2121.3,2059.7,2005d r V 2π=

.3,1954.6,2572.9,2518.4,2462.0,2420.7];

for i=1:9

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(10)=sd(9);

for i=11:20

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(21)=sd(20);

for i=22:24

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(25)=sd(24);

scatter(t,sd)

hold on

plot(t,sd)

得到

水塔中水流速度的散点图及光滑图

0510********

(4)预测水塔中的未知流速

[1]在Matlab中运行脚本文件(不包括未知三点):

采用数值微分的一阶微商的两点公式(末位处近似为sd(n)=sd(n-1))

t=[0,0.921,1.843,2.949,3.871,4.978,5.900,7.006,7.928,8.967,10.954,12. 032,12.954,13.875,14.982,15.903,16.826,17.931,19.037,19.959,20.839,22 .958,23.880,24.986,25.908];

v=[2301.1,2254,2213.3,2169.8,2135.8,2095.9,2065.4,2027.1,1994.6,1954. 6,2572.9,2496.8,2427.8,2362.7,2295.4,2237.3,2182.9,2121.3,2059.7,2005 .3,1954.6,2572.9,2518.4,2462.0,2420.7];

for i=1:9

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(10)=sd(9);

for i=11:20

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(21)=sd(20);

for i=22:24

sd(i)=abs((v(i+1)-v(i))/(t(i+1)-t(i)));

end

sd(25)=sd(24);

sd

得到

速度(不包括未知三点)

sd =

Columns 1 through 9

51.1401 44.1432 39.3309 36.8764 36.0434 33.0803 34.6293 35.2495 38.4986

Columns 10 through 18

38.4986 70.5937 74.8373 70.6840 60.7949 63.0836 58.9382 55.7466 55.6962

Columns 19 through 25

59.0022 57.6136 57.6136 59.1106 50.9946 44.7939 44.7939 [2]采用拉格朗日插值法估计未知三点的速度:

在Matlab命令窗口直接运行

>> x0=[7.928,8.967];

>> y0=[38.4968,38.4968];

>> lglr3(x0,y0,9.981)

ans =

38.4968

>> x0=[8.967,9.981];

>> y0=[38.4968,38.4968];

>> lglr3(x0,y0,10.925)

ans =

38.4968

>> x0=[19.959,20.839];

>> y0=[57.6136,57.6136];

>> lglr3(x0,y0,22.015)

ans =

57.6136

[3]在Matalb中运行脚本文件

t=[0,0.921,1.843,2.949,3.871,4.978,5.900,7.006,7.928,8.967,9.981,10.9 25,10.954,12.032,12.954,13.875,14.982,15.903,16.826,17.931,19.037,19.

相关文档
最新文档