水塔水流量的估计范本模板.docx
- 文档编号:7428812
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:24
- 大小:85.92KB
水塔水流量的估计范本模板.docx
《水塔水流量的估计范本模板.docx》由会员分享,可在线阅读,更多相关《水塔水流量的估计范本模板.docx(24页珍藏版)》请在冰豆网上搜索。
水塔水流量的估计范本模板
上海应用技术学院
《数学建模》课程设计
报告
课题名称:
___水塔水流量的估计
系(院):
理学院
专业:
数学与应用数学
班级:
10122111
学生姓名:
钱宇捷
学号:
1012211134
指导教师:
陈宏宇
开课时间:
2011-2012学年二学期
摘要
由所给的题目可知,本问题是一个关于如何计算居民用水的问题,由题目给出的表格,可知不同时刻的水位,根据所要求的不同时刻水位的不同入手,此计算问题就可以转化为插值或拟合问题。
这里主要考虑采用插值的方法,可以利用MATLAB软件进行插值和曲线拟合计算并解决一些具体的实际问题。
根据题目建立模型并采用插值的方法进行求解,推算出任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量。
关键词:
建模,流量,插值,拟合,MATLAB
Abstract
Knownbythesubjecttothisproblemisaproblemonhowtocalculateresidentialwatertablegivenbythesubject,wecanseethewaterlevelofthedifferentmoments,accordingtothewaterlevelofthedifferentrequirementsatdifferenttimestostart,thiscalculationproblemcanbetransformedintointerpolationorfittingproblems.Hereconsiderusingtheinterpolationmethod,usingMATLABsoftwareinterpolationandcurvefittingcalculationsandsolvesomespecificpracticalproblems。
Thetopicmodelandusingtheinterpolationmethodtosolvetheprojectedoutatanytime(includingwhenthepumpiswatersupply)totheflowofwaterflowingfromthewatertower,andadayoftotalwateruse.
Keywords:
Modeling,Flow,Interpolation,Fitting,MATLAB
一、摘要2
二、设计目的4
三、设计内容4
四、问题重述4
五、问题分析5
六、模型假设5
七、模型的建立与求解6
八、实验结果与分析20
九、内容小结20
十、模型的分析与改进20
十一、参考文献20
水塔水流量的估计
一、设计目的
1.掌握四种经典的插值方法:
拉格朗日插值法、分段插值法、三次样条插值法。
2。
学会用MATLAB软件进行数据差值计算。
3。
学会用数据插值,数据拟合方法建立数学模型并求解。
二、设计内容
1.数据插值、数据拟合理论方法.
2。
熟悉使用MATLAB软件进行数据插值,数据拟合。
3。
简单的数据建模实验:
水塔水流量的估计。
三、问题重述
问题描述
某居民区供水机构有一供居民用水的圆柱形水塔,由于该机构没有测量流入或流出该水塔的水量的装置,水塔的管理者只能通过隔一段时间测量一次水塔的水位来估计水的流量.但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量。
通常每天水泵供水一到二次,每次约2个小时。
水塔是一个高为12.2米,直径为17。
4米的正圆柱。
按照设计,水塔水位降至约8.2米时,水泵自动启动,水位升到约10.8米是水泵停止工作。
表1是某一天管理人员测量该水塔的水位测量记录(符号“//”表示水泵启动).请您帮助该管理人员估计一天中任何时刻(包括水泵正在供水时刻)从水塔中流出的水流量及一天的居民用水总量.
表1水位测量记录
时间(h)
水位(m)
时间(h)
水位(m)
0
9。
677
12。
954
10.210
0.921
9。
479
13.875
9.936
1。
843
9.308
14.982
9。
653
2。
949
9.125
15。
903
9.409
3.871
8.982
16。
826
9。
180
4。
978
8.814
17.931
8。
921
5。
900
8。
686
19。
037
8。
662
7.006
8.525
19。
959
8.433
7.928
8.388
20.839
8.220
8.967
8。
220
22.015
水泵开启
9。
9811
水泵开启
22.958
10。
820
10。
925
水泵开启
23.880
10.591
10.954
10。
820
24。
986
10.354
12。
032
10。
500
25.908
10.180
水塔的横截面积为A=
=237.8(平方米)。
四、问题分析
流量是单位时间内流出水的体积,由于水塔是正圆柱形,横截面积是常数,所以在水泵不工作时段,流量很容易根据水位相对时间的变化率算出。
问题的难点在于如何估计水泵供水时段的流量。
水泵供水时段的流量只能靠供水时段前后的流量经插值或拟合得到。
作为用于插值或拟合的原始数据,我们希望水泵不工作时段的流量越准确越好。
这些流量大体上可由两种方法计算,一是直接对表1中的水量用数值微分算出各时段的流量,用它们拟合其它时刻或连续时间的流量;二是先用表中数据拟合水位—时间函数,求导数即可得到连续时间的流量.
有了任何时刻的流量,就不难计算一天的总用水量。
其实,水泵不工作时段的用水量可以由测量记录直接得到,由表1中下降水位乘以水塔的截面积就是这一时段
的水流量这个数值可以用来检验数据插值或拟合的结果.
五、模型假设
1。
影响水从水塔中流出的流量的唯一因素是公众对水的传统要求.因为表1给出的数据没有提及任何其他的影响因素,我们假定所给数据反映了有代表性的一天,而不包括任何特殊情况,如自然灾害、火灾、水塔溢水、水塔漏水等对水的特殊要求.
2.水塔中的水位不影响水流量的大小,气候条件、温度变化等也不影响水流量.因为物理学的Torricelli定律指出:
水塔的最大水流量与水位高度的平方根成正比,按照设计,水塔水位降至约8.2米时,水泵自动启动,水位升到约10。
8米是水泵停止工作。
故最低和最高水位分别是8。
2m和10。
8m(设出口的水位为零),因为sqrt(10.8/8。
2)≈1.1476,约为1,所以可忽略水位对流速的影响。
3。
水泵工作起止时间由它的水位决定,每次充水时间大约为2个小时.水泵工作性能效率总是一定的,没有工作时需维修、使用次数多影响使用效率问题,水泵充水量远大于水塔水流量.
4.水泵工作时单位时间的供水量大致为常数,这个常数大于单位时间内从水塔中流出的水流的最大流速,这是因为居民区内一直需要用水,不允许水塔中的水用光。
5。
水塔中水流量是时间的连续光滑函数,与水泵工作与否无关。
这是因为虽然就个别用户而言可能用水量有较大的变化,但由于个人的用水量与整个居民区用水量相比是非常小的,从统计意义上来讲,不太可能同时整个社区的用水量增长或减少。
6。
水塔的水流量曲线可以用一条光滑的曲线来逼近.这时,水流量曲线的两阶导数是连续的.
7。
将流量看作是时间的连续函数,为计算简单,不妨将流量定义成单位时间流出水的高度,即水位对时间变化率的绝对值(水位是下降的),水塔截面积为s=
=237。
8(平方米)得到结果后乘以S即可.
六、模型的建立与求解
通过以上对问题的分析,现在的问题已转化为根据某一天已测量的时刻水塔中水的流速,产生在整个区间(24小时)上的函数或函数值,一般来说插值和拟合是两种最常用的方法。
1)流量估计方法
首先依照表1所给数据,用MATLAB作出时间-水位散点图1。
Matlab程序:
〉>x0=[00。
9211。
8432.9493。
8714。
9785.9007.0067。
9288。
96710。
95412.03212。
95413.87514。
98215.90316。
82617。
93119.03719.95920.83922.95823。
88024.98625。
908];
>>y0=[9.6779.4799。
3089.1258。
9828。
8148。
6868.5258.3888。
22010.82010.50010.2109.9369.6539.4099。
1808.9218.6628.4338。
22010。
82010。
59110。
35410。
180];
>〉plot(x0,y0,’*')
图1
下面我们来计算水箱流量与时间的关系。
根据表1中数据散点图1,一种简单的处理方法为先将表1中的数据分为三段,然后对每一段的数据做如下处理:
设某段数据为
,相邻数据中点的平均流速用下面的公式(流速=(左端点的水位-右端点的水位)/区间长度):
,
每段数据首尾点的流速用下面的公式计算:
,
,
用以上公式求得时间与流速之间的数据表2如下:
表2
时间(h)
流速(cm/h)
时间(h)
流速(cm/h)
0
22.9517
12.493
31.4534
0.4605
21.4984
13.4145
29。
7503
1.382
18.5466
14.4285
25.5646
2。
396
16.5461
15。
4425
26。
4929
3.41
15.5098
16。
3645
24。
8104
4。
4245
15。
1762
17。
3785
23。
4389
5.439
13.8829
18。
484
23.4177
6。
453
14。
5570
19。
498
24。
8373
7.467
14.8590
20。
399
24.2045
8。
4475
16.1694
20。
839
22。
7525
8.967
18.7149
22.015
水泵开动
9。
9811
水泵开动
22。
958
22。
1893
10。
925
水泵开动
23.419
24。
8373
10。
954
33.50
24.433
21。
4286
11。
493
29.6846
25。
447
18.8720
25.908
14.0533
由表2作出图2时间-流速散点图如下:
Matlab程序:
>>x0=[00.46051.3822.3963.414。
42455.4396.4537.4678。
44758.96710.95411。
49312.49313.414514.428515。
442516.364517。
378518。
48419。
49820。
39920.83922。
95823。
41924。
43325。
44725.908];
〉〉y0=[22.951721.498418。
546616.546115.509815.176213.882914.557014。
859016。
169418。
714933.5029。
684631。
453429。
750325。
564626。
492924.810423.438923.417724。
837324。
204522。
752522。
189324.837321.428618。
872014.0533];
>>plot(x0,y0,'*')
图2
(1)插值法
由表2,对水泵不工作时段1,2采取插值方法,可以得到任意时刻的流速,从而可以知道任意时刻的流量。
我们分别采取拉格朗日插值法,分段线性插值法及三次样条插值法;对于水泵工作时段1应用前后时期的流速进行插值,由于最后一段水泵不工作时段数据太少,我们将它与水泵工作时段2合并一同进行插值处理(该段简称混合时段)。
我们总共需要对四段数据(第1,2未供水时段,第1供水时段,混合时段)进行插值处理。
第1未供水时段:
首先,对于第1未供水时段,我们分别用三种方法算出流量函数和用水量(用水高度)。
下面为实现该过程的MATLAB程序:
〉>t=[00。
46051.3822.3963.414.42455。
4396.4537。
4678。
44758。
967];
〉>v=[22.951721.498418.546616。
546115。
509815。
176213。
882914.557014。
859016.169418.7149];
〉〉t0=0:
0.1:
8。
967;
〉〉lglr=lglrcz(t,v,t0);
〉>lglrjf=0。
1*trapz(lglr)
〉>fdxx=interp1(t,v,t0);
>>fdxxjf=0。
1*trapz(fdxx)
〉〉scyt=interp1(t,v,t0,'spline');
>>sancytjf=0。
1*trapz(scyt)
〉〉plot(t,v,’*',t0,lglr,’r’,t0,fdxx,’g’,t0,scyt,'b’)
〉〉gtext(’lglr')
>〉gtext(’fdxx')
>>gtext(’scyt')
运行结果为:
lglrjf=144。
7505
fdxxjf=145。
4062
sancytjf=144.8002
图3是对第1未供水段数据用三种不同方法得到的插值函数图,图中曲线lglr、fdxx和scyt分别表示用拉格朗日插值法,分段线性插值法及三次样条插值法得到的曲线。
图3
分析:
由表1知,第1未供水时段的总用水高度为145。
7(=967.7-822.0),可见上述三种插值方法计算的结果与实际值(145.7)相比都比较接近。
但是考虑到分段线性插值方法具有更加良好的性质,建议采取该方法。
第2未供水时段:
首先,对于第2未供水时段,我们分别用三种方法算出流量函数和用水量(用水高度)。
下面为实现该过程的MATLAB程序:
>〉t=[10.95411.49312.49313。
414514.428515.442516。
364517.378518.48419。
49820.39920。
839];
>>v=[33.5029。
684631。
453429。
750325。
564626。
492924。
810423。
438923。
417724.837324。
204522.7525];
〉〉t0=10.954:
0。
1:
20。
839;
〉>lglr=lglrcz(t,v,t0);
〉〉lglrjf=0。
1*trapz(lglr)
>>fdxx=interp1(t,v,t0);
>>fdxxjf=0。
1*trapz(fdxx)
>>scyt=interp1(t,v,t0,'spline’);
>〉sancytjf=0。
1*trapz(scyt)
>>plot(t,v,'*',t0,lglr,’r',t0,fdxx,'g’,t0,scyt,'b')
>>gtext(’lglr’)
>〉gtext(’fdxx’)
>〉gtext('scyt’)
运行结果为:
lglrjf=258.9555
fdxxjf=259.1952
sancytjf=258。
7886
图4是对第2未供水段数据用三种不同方法得到的插值函数图,图中曲线lglr、fdxx和scyt分别表示用拉格朗日插值法,分段线性插值法及三次样条插值法得到的曲线.
图4
分析:
由表1可知,第2未供水时段的总用水高度为260(260=1082—822),可见上述三种插值方法计算的结果与实际值260相比都比较接近。
但是考虑到分段线性插值方法更加接近实际值,所以建议采取该方法.
第1供水时段:
首先,对于第1供水时段,我们分别用三种方法算出流量函数和用水量(用水高度)。
下面为实现该过程的MATLAB程序:
>>t=[7.4678.44758。
96710。
95411。
49312。
493];
>〉v=[14.859016。
169418。
714933。
5029。
684631。
4534];
>>t0=8。
967:
0.1:
10。
954;
>>lglr=lglrcz(t,v,t0);
〉>lglrjf=0.1*trapz(lglr)
>〉fdxx=interp1(t,v,t0);
>>fdxxjf=0。
1*trapz(fdxx)
〉>scyt=interp1(t,v,t0,'spline');
〉〉sancytjf=0.1*trapz(scyt)
〉>plot(t,v,'*’,t0,lglr,'r',t0,fdxx,’g',t0,scyt,'b')
〉>gtext('lglr')
>>gtext('fdxx’)
〉>gtext('scyt')
运行结果为:
lglrjf=53.2376
fdxxjf=48.9892
sancytjf=52.5114
图5是对第1供水段数据用三种不同方法得到的插值函数图,图中曲线lglr、fdxx和scyt分别表示用拉格朗日插值法,分段线性插值法及三次样条插值法得到的曲线。
图5
混合时段:
首先,对于混合时段,我们分别用三种方法算出流量函数和用水量(用水高度)。
下面为实现该过程的MATLAB程序:
〉〉t=[19.49820。
39920。
83922.95823.41924.43325.44725。
908];
〉>v=[24。
837324。
204522.752522。
189324.837321.428618.872014.0533];
〉〉t0=20.839:
0。
1:
22.958;
>>lglr=lglrcz(t,v,t0);
〉〉lglrjf=0。
1*trapz(lglr)
〉〉fdxx=interp1(t,v,t0);
〉>fdxxjf=0.1*trapz(fdxx)
〉〉scyt=interp1(t,v,t0,’spline’);
>〉sancytjf=0。
1*trapz(scyt)
>>plot(t,v,’*’,t0,lglr,'r',t0,fdxx,’g',t0,scyt,’b’)
〉〉gtext(’lglr’)
〉〉gtext(’fdxx’)
>〉gtext(’scyt')
运行结果为:
lglrjf=39。
0871
fdxxjf=47.1942
sancytjf=43.5828
图6是对混合时段数据用三种不同插值方法得到的插值函数图。
图6
数值结果整理成表格如下:
各时段及一天的总用水量(用水高度)
第1
未供水段
第2
未供水段
第1
供水段
混合
时段
全天
拉格朗日
插值法
144。
7505
258.9555
53。
2376
39.0871
496。
0307
分段线性
插值法
145。
4062
259.1952
48。
9892
47。
1942
500.7848
三次样条
插值法
144.8002
258.7886
52.5114
43.5828
499。
6830
表三
作出分段线性及三次样条插值方法得到的整个过程的时间-流速函数示意图图7.
Matlab程序如下:
〉>t=[00.46051。
3822。
3963。
414.42455。
4396.4537.4678。
44758.96710.95411。
49312.49313。
414514。
428515。
442516.364517.378518.48419。
49820。
39920.83922.95823。
41924。
43325.44725.908];
>>v=[22.951721。
498418.546616.546115。
509815。
176213.882914.557014。
859016.169418。
714933。
5029.684631。
453429.750325。
564626。
492924.810423。
438923。
417724.837324。
204522.752522。
189324。
837321。
428618.872014.0533];
〉>t0=0:
0.1:
25.908;
〉〉lglr=lglrcz(t,v,t0);
>>lglrjf=0.1*trapz(lglr)
>〉fdxx=interp1(t,v,t0);
>>fdxxjf=0.1*trapz(fdxx)
〉>scyt=interp1(t,v,t0,’spline’);
>>sancytjf=0.1*trapz(scyt);
>>plot(t,v,’*',t0,fdxx,’g',t0,scyt,'b’)
〉>gtext('lglr’)
>〉gtext('fdxx’)
>>gtext(’scyt’)
运行程序,得到分段线性及三次样条插值函数图图7如下:
图7
下表是对一天中任取的4个时刻分别用三种方法得到的水塔水流量近似值。
6。
85
10.85
15。
85
22。
85
拉格朗日
15。
02
33.77
26.07
21.23
分段插值
14.66
33。
72
25。
74
22.22
三次样条
14。
74
32。
85
26。
03
21。
52
表四
(2)拟合法
1)拟合水位—-时间函数
从表1中测量记录看,一天有两次供水时段和三次未供水时段,分别对第1,2未供水时段的测量数据直接作多项式拟合,可得到水位函数(注意,根据多项式拟合的特点,此处拟合多项式的次数不宜过高,一般以3—6次为宜)。
对第3未供水时段来说,数据过少不能得到很好的拟和.
设t,h分别为已输入的时刻和水位测量记录(由表1提供,水泵启动的4个时刻不输入)
(a)对第1未供水时段的数据进行拟合。
Matlab程序如下:
〉>t=[00.9211。
8432。
9493.8714.9785.9007。
0067。
9288。
96710.95412.03212。
95413.87514。
98215.90316.82617.93119。
03719.95920。
83922。
95823.88024.98625.908];
>>h=[9.6779.4799.3089。
1258.9828。
8148。
6868.5258。
3888.22010.82010.50010.2109.9369.6539.4099.1808
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水塔 水流 估计 范本 模板