水塔流量问题Word格式.docx
- 文档编号:15303595
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:11
- 大小:222.57KB
水塔流量问题Word格式.docx
《水塔流量问题Word格式.docx》由会员分享,可在线阅读,更多相关《水塔流量问题Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
某地的用水管理机构要求各社区提供各个时刻的用水率以及每天所用的总用水量。
但许多社区并没有测量流入或流出当地水塔的水量的设备,他们只能代之以每小时测量水塔中的水位,其误差不超过%。
更为重要的是,无论什么时候,只要水塔中的水位下降到最低水位L时,水泵就自动启动向水塔重新充水直到最高水位H时水泵自动停止,但也无法得到水泵的供水量的测量数据。
因此,在水泵正在工作时,人们不容易建立水塔中水位与水泵工作时的用水量之间的关系。
水泵每天向水塔充水一次或两次,每次约二小时。
下表为某地一天中的真实的数据。
表1某天水塔水位测量记录
时刻t(秒)
3316
6635
10619
13937
17921
21240
水位(0.01英尺)
3175
3110
3054
2994
2947
2892
2850
25223
28543
32284
35932
39332
39435
43318
2795
2752
2697
水泵启动
3550
3445
46636
49953
53936
57254
60574
64554
68535
3350
3260
3167
3087
3012
2927
2842
71854
75021
79254
82649
85968
89953
93270
2767
3475
3397
3340
水塔是一个高40英尺、直径57英尺的圆柱。
按照设计,水塔水位降至约L=27英尺时,水泵自动启动加水;
当水位升高到约H=35.5英尺米时,水泵自动停止工作。
试估计在任何时刻(包括水泵正在供水时)水从水塔流出的流量f(t),并估计一天的总用水量。
研究思路及结构安排
本问题最大的困难在于不知道水泵启动时水位的变化和向外水流的速度。
用水量等于向外水流速度乘以时间。
因此,如何确定流速是解决该问题的关键。
第2章模型建立与求解
模型假设
(1)除了问题中特别说明的数据以外,其他给定的数据其测量误差不超过%;
(2)一天之中,任意从一个开始时刻,如从t=0起到t=24小时结束,一天开始时刻的不同不影响一天总水量;
(3)管理部门不考虑水流速度的瞬间值,感兴趣的是整个一天中的用水总趋势;
(4)水泵抽水的速度是均匀的;
(5)假设水流的速度是连续变化的,流速可以用一条光滑的曲线近似表示,即在给定的数据点上有连续的二阶导数。
确定近似流速
水泵不供水时,水流速度不难用数值方法描述,但如何描述清楚水泵向水塔供水期间的流速
我们首先估计水泵不启动时,每个已知数据点上的流速。
流速等于水量的变化除以时间的变化。
假设为时刻水塔中水的容量,表示时刻水塔中水的容量为。
使用中点数值求导公式,求处的导数的近似值。
水泵不启动时段共有3段,对于每段的前两个点
对于每段的后两个点
对于每段的其余点
如此,可得各时刻点上的流速。
(负号保证流速为正数)
确定水泵启动时的流量及总流量曲线
在中已经得到了已知数据点(水泵不启动时)上的近似流速,根据假设(5),水流的速度可以表示为一条光滑的曲线。
因此考虑使用已经求出的水泵未启动时的流速来近似模拟水泵启动时的流速,这种模拟有两种方式:
插值和拟合。
由于假设流速具有连续的二阶导数,因此采用三次样条插值多项式来模拟任意时刻的流速。
用表示时刻的流速。
确定总用水量
前面已经求出水流的流速曲线,如何求总用水量呢如果画出流速曲线,就可以从流速曲线图看出,流速在0时刻和24时的流速近似相等,因此流速是近似地以一天为周期的。
可以考虑以下两种方式:
1)一种方式是使用流速在时刻0至24小时上积分
2)直接根据高度的变化求出水泵不启动时的用水量
用积分求出水泵启动时的用水量近似值,然后相加。
选择024小时内的范围,小时内,高度从下降至英尺,用水量为
在小时内,高度从降至2697英尺,用水量为
然后用数值积分求出两次水泵启动期间的用水量
总用水量为
第3章算法步骤
中点数值求导函数步骤及流程图
图1中点数值求导函数流程图
三次样条插值函数步骤及流程图
图2三次样条插值函数流程图
第4章算法实现
程序总体结构
图3程序函数调用关系
源程序清单
#include<
>
#defineN24
doubleQ1=0,Q2=0,q1=0,q2=0,n[N]={0},m[N]={0};
f\n"
i,m[i]);
DIA=57;
q1=fabs(PI*(DIA/*(DIA/*(f[9]-f[0]))*;
q2=fabs(PI*(DIA/*(DIA/*(f[19]-f[10]))*;
Q2+=q1+q2+n[9]+n[20]+n[21];
printf("
\t\t方法2:
积分与高度变化结合求用水量"
);
\n第1次水泵启动时用水量为:
%f\n"
n[9]);
第2次水泵启动时用水量为:
n[20]);
\n%f~%f用水量为:
t[0],t[9],q1);
%f~%f用水量为:
t[10],t[20],q2);
总用水量为:
Q2);
*******************************************************************************\n"
}
voidCountError()//计算误差
{
doublew;
w=((Q1-n[9]-n[20]-n[21])-(Q2-n[9]-n[20]-n[21]))/(Q2-n[9]-n[20]-n[21]);
用水量误差为:
%f%%\n"
w*100);
voidmain()
doublet[N]={0,,,,,,,,,,,,,,,,,,,,,,,};
doublef[N]={3175,3110,3054,2994,2947,2892,2850,2795,2752,2697,3550,3445,3350,3260,3167,3087,3012,2927,2842,2767,2697,3475,3397,3340};
doublev[N]={0};
doubleS=**;
for(inti=0;
i<
N;
i++)
f[i]=f[i]*S*;
数据已录入,现在计算\n"
median(t,f,v);
//计算导数
for(i=0;
v[i]=-v[i];
中值求导计算完毕,各时间点流量导数为:
\n"
printf("
%"
v[i]);
现在开始三次样条插值近似出导数函数\n"
doubles[2]={0};
chazhi2(t,v,s);
//计算拟合函数
f[i]=f[i]/S/;
Integral(f,t,v);
way2(t,f);
//方法2计算总水量
CountError();
//计算误差
程序运行
图4水塔流量程序运行结果
图5水塔流量程序运行结果
运行结果说明:
通过积分的方法算出的用水量为37879,通过综合计算的方法计算出的用水量为36363,两次结果都与实验说明相差8000,原因应该是计算过程中,曲线的拟合处出现了较大误差;
而两次计算的相对误差为%,结果相对比较接近实验说明的要求。
所以,此次编程虽然有些许误差,但是实验结果仍然表明整个方法没有根本性错误。
第5章误差分析
考虑前面两种求总用水量的结果,由数值积分求出,结合高度和数值积分求出。
根据高度求出的水泵未启动时的用水量可以认为是精确的。
由数值积分求出的水泵未启动时的用水量。
根据高度求出的水泵未启动时的用水量,可以认为是精确值。
我们使用水泵未启动时的用水量的误差近似替代总的误差。
第6章模型的评价和改进
优点
1)模型的灵活性较好,可以用到那些拥有垂直圆柱型水塔的社区或单位,模型中的数据只要是离散的时间和水位的高度;
2))模型所用的数学概念简单,并且也容易理解,一阶导数、三次样条插值和积分都是被广泛使用的概念;
3)只要提供了数据和计算机,模型很容易实现;
4)模型为一天里的流速和总用水量提供了较为精确的估计。
缺点
1)模型受到水塔形状限制;
2)光滑曲线不能模拟真实流速观测中的微小变化。
模型的改进方向
1)可以增加一些参数,以使模型适用于不同形状的水塔;
2)也可以加入随机因素,并进行方差分析,使模型更适应于真实的情况。
参考文献
学生学习心得
通过对三次样条插值法的应用,更加深入地了解了其在实际生产生活中的应用;
通过对中值求导法的应用,能够更加熟练地对实际数据进行处理,以得到我们想要的数据。
在对水塔问题的处理中,充分体会到了一些简单的数值处理方法的有机组合能够达到的强大功能,能够处理的问题的复杂性。
学生(签名):
2016年6月16日
诚信承诺
本人郑重声明所呈交的课程报告是本人在指导教师指导下进行的研究工作及取得的研究成果。
据我所知,除了文中特别加以标注的地方外,论文中不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同学对本文研究所做的贡献均已在报告中作了明确的说明并表示谢意。
任课
教师
评语
成绩评定:
任课教师(签名):
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水塔 流量 问题