水塔流量估计数学建模论文《数学模型与数学软件综合训练》论文MATLAB源程序.docx
- 文档编号:8100286
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:14
- 大小:127.86KB
水塔流量估计数学建模论文《数学模型与数学软件综合训练》论文MATLAB源程序.docx
《水塔流量估计数学建模论文《数学模型与数学软件综合训练》论文MATLAB源程序.docx》由会员分享,可在线阅读,更多相关《水塔流量估计数学建模论文《数学模型与数学软件综合训练》论文MATLAB源程序.docx(14页珍藏版)》请在冰豆网上搜索。
水塔流量估计数学建模论文数学模型与数学软件综合训水塔流量估计数学建模论文数学模型与数学软件综合训练论文练论文MATLAB源程序源程序数学模型与数学软件综合训练论文训练题目:
水塔流量估计学生学号:
07500119姓名:
周才祥计通院信息与计算科学专业指导教师:
黄灿云(理学院)2010年春季学期前前言言在生产实践和科学研究中,常常遇到这样的问题:
由实验或测量得到的一批离散样点,需要确定满足特定要求的曲线或曲面(即变量之间的函数关系或预测样点之外的数据)。
如果要求曲线(面)通过所给的所有数据点(即确定一个初等函数通过已知各数据,一般用多项式或分段多项式),这就是数据插值。
在数据较少的情况下,这样做能够取得好的效果。
但是,如果数据较多,那么插值函数是一个次数很高的函数,比较复杂。
如果不要求曲线(面)通过所有的数据点,而是要求它反映对象整体的变化趋势,可得到更简单实用的近似函数,这就是数据拟合。
函数插值和曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者在数学方法上是完全不同的。
针对水塔数据分析,利用数学软件MATLAB进行数据拟合。
曲线拟合问题是指:
已知平面上个点(,),0,1,互不相同,寻求函数,使在某种准则下与所有数据点最为接近,即曲线拟合得最好。
线性最小二乘法是解决曲线拟合最常用的方法,其基本思路是,令其中是事先选定的一组函数,系数(0,1,,)待定。
寻求,使得残差平方和达到最小。
这里的建模原理实质上与实验七中的回归分析是一致的。
摘要数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。
文章采用曲线拟合的方法,并利用数学软件MATLAB对水塔流蚤进行计算计算结果与实际记录基本吻合。
关键词:
建模,流量,拟合,MATLAB目录前言1摘要2关键词21问题提出12问题分析13模型假设13.1忽略水位对流速的影响23.2供水时段的假设23.3单位时间的供水量为常数23.4流量是对时间的连续函数23.5流量与水泵是否工作无关23.6流量定义的假设24流量估计24.1拟合水位时间函数24.2确定流量时间函数34.3一天总用水量的估计35算法设计与编程35.1拟合第1、2时段的水位,并到处流量35.1.1第1时段的流速:
35.1.2第2时段的流速45.2拟合供水时段的流量45.3一天的总用水量的估计55.4流量及总用水量的检验56计算结果57分析与改进6参考文献7附录部分源代码81问题提出问题提出某居民区有一供居民用水的圆柱形水塔,一般可以通过测量其水位来估计水的流量。
面临的困难是,当水塔水位下降到设定的最底水位时,水泵自动启动向水塔供水,到设定的最高水位的时候停止供水,这段时间无法测量水塔的水位和水泵的供水量。
通常水泵每天供水一两次,每次约2h.水塔是一个高为12.2m,直径为17.4m的正圆柱。
按照设计。
水塔水位降至约8.2m时,水泵自动启动,水位升至约10.8m时水泵停止工作。
下表是某一天的水位测量记录(符号“/”表示水泵启动),试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量。
表格1时刻(h)00.921.842.953.874.985.907.017.938.97水位(cm)968948931913898881869852839822时刻9.9810.9210.9512.0312.9513.8814.9815.9016.8317.94(h)水位(cm)/108210501021994965941918892时刻(h)19.0419.9620.8422.0122.9623.8824.9925.91水位(cm)866843822/1059103510182问题分析问题分析流量是单位时间流出水的体积。
由于水塔为正圆柱形,横截面积是常数,在水泵不工作的时段,流量很容易从水位对时间的变化率算出,问题是如何估计水泵供水时的流量。
水泵供水时段的流量只能靠供水时段前后的流量拟合得到。
作为用于拟合的原始数据,希望水泵不工作时段的流量越准确越好。
大体有两种计算方法:
一是直接对表:
1中的水位用数值微分计算出个时刻的流量,用它们拟合其他时刻或连续时间的流量;二是先用表中的数据拟合水位时间函数,求导数可的连续时间的流量。
一般来说数值为份的净度不高,何况测量记录不等距,结束值微分计算麻烦。
因此选用中二种方法进行处理。
有了任何时刻的流量,就可以酸楚一天的总水量。
其实,水泵不工作时段的用水量可根据记录直接得出,有表:
1可知t=0到t=8.97h,水位下降了968822cm,乘以水塔的截面积即得该时段的用水量。
该数值可用来检验拟合的结果。
3模型假设模型假设3.1忽略水位对流速的影响忽略水位对流速的影响流量值取决于水位差,与水位本身无关,按Torriceli定律从小孔流出的流体的速度正比于高度的平方根,水塔的高度和最低水位为10.8m、802m(设出水口的水位为0),因故可忽略水位对流速的影响。
3.2供水时段的假设供水时段的假设水泵第一次供水时段为t1=9h到t2=11h,第二次供水时段为t3=20.8h到t4=23h这是根据最高和最低水位分别为10.8m和8.2m,以及表1的水位测量纪录作出的假设,其中前3个时刻直接取自实测数据(精确到0.1h),最后1个时刻来自每次供水约2h的已知条件(从记录上看,第2次供水时段应在有记录的22.96h之后即将结束)。
3.3单位时间的供水量为常数单位时间的供水量为常数水泵工作时单位时间的供水量基本为常数,这个厂书读与单位时间的平均流量。
3.4流量是对时间的连续函数流量是对时间的连续函数流量是单位时间流出水的体积,这里假设流量是对时间的连续函数。
3.5流量与水泵是否工作无关流量与水泵是否工作无关为简化处理,不影响问题的解决,假设流量与水泵是工作无关。
3.6流量定义的假设流量定义的假设由于水塔截面积是常数,为简单起见,在计算中将流量定义做单位时间流出的水的高度,即水位(水位时下降的)对时间变化率的绝对值,最后给出结果再乘以S即可。
4流量估计流量估计4.1拟合水位拟合水位时间函数时间函数由表1记录,一天有两个供水时段(以下称第一个供水时段和第二个供水时段),和三个水泵不工作时段(以下称第1时段t=0到t=8.97,第2个时段t=10.95到t-20.84,和第3时段t=23以后)。
对第1、2时段的测量数据直接分别做多项式函数拟合,得到水位函数。
为使拟合曲线比较光滑,多项式次数不要太高,一把为36次。
由于第3时段只有3个测量记录,无法对这一时段的水位作出较好的拟合。
4.2确定流量确定流量时间函数时间函数对于第1、2时段只需将水位函数求导即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作)的流量拟合得到,且将第2时段流量外推,将第3个时段流量包含在第2供水时段内。
4.3一天总用水量的估计一天总用水量的估计总用水量等于两个不工作时段和两个工作时段用水量之和,它们都可由流量对时间的积分得到。
5算法设计与编程算法设计与编程下面利用数学软件MATLAB对水塔流量进行计算与曲线拟合。
5.1拟合第拟合第1、2时段的水位,并到处流量时段的水位,并到处流量5.1.1第第1时段的流速:
时段的流速:
*实现代码*t=0,0.92,1.84,2.95,3.87,4.98,5.90,7.01,7.93,8.97,9.98,10.92,10.95,12.03,12.95,13.88,14.98,15.90,16.83,17.94,19.04,19.96,20.84,22.01,22.96,23.88,24.99,25.91;h=9689489319138988818698528398220010821050102199496594191889286684382200105910351018;%水泵启动是水位用“0”表示c1=polyfit(t(1:
10),h(1:
10),3);%用3次多项式拟合第1时段水位,c1输出3次多项式的系数a1=polyder(c1);%输出多项式(系数为c1)导数的系数tp1=0:
0.1:
9;x1=-polyval(a1,tp1);%x1输出多项式(系数为a1)在tp1点的函数值(取负后变为正值),即tp1时刻的流量,类似可计算第2时段各时刻的流量*图5.1.15.1.2第第2时段的流速时段的流速*实现代码*c2=polyfit(t(1:
10),h(1:
10),3);%用3次多项式拟合第1时段水位,c2输出3次多项式的系数a2=polyder(c2);%输出多项式(系数为c1)导数的系数tp2=11:
0.1:
20;x2=-polyval(a2,tp2);%x2输出多项式(系数为a2)在tp2点的函数值(取负后变为正值),即tp2时刻的流量,类似可计算第2时段各时刻的流量*5.2拟合供水时段的流量拟合供水时段的流量5.2.1在第一供水时段(t=911)之前(即第1时段)和之后(即第2时段)各取几点,其流量已经得到,用它们拟合第1供水时段的流量。
为使流量函数在t=9和t=11连续,我们任意取4个点,拟合3次多项式,实现如下:
*实现代码*xx1=-polyval(a1,89);%取第1时段在t=8,9的流量xx2=-polyval(a1,1112);%取第2时段在t=11,12的流量xx12=xx1xx2;c12=polyfit(891112,xx12,3);%拟合3次多项式tp12=9:
0.1:
11;x12=polyval(c12,tp12);%x12输出第一供水时段各时刻的流量。
*5.2.2在第2供水时段之前取t=20,20.8两点的流量,在该时段之后(第3时段)仅有3个水位个水位记录,用差分得到流量,然后用这4个数值拟合第二供水时段的流量如下:
*实现代码*dt3=diff(t(22:
24);%最后3个时刻的两两之差dh3=diff(h(22:
24);%最后3个水位的两两之差dth3=-dh3/dt3;%t(22)和t(23)的流量t3=20,20.8,t(22),t(23);xx3=-polyval(a2,t3(1:
4),dth3);%t3各时刻的流量c3=polyfit(t3,xx3,3);%拟合3次多项式tp3=20.8:
0.1:
24;x3=polyval(c3,tp3);%x输出第二供水时段(外推至t=24)各时刻的流量*5.3一天的总用水量的估计一天的总用水量的估计第1、2时段和第一、二供水时段流量的积分之和,就是的总用水量。
虽然诸时段流量已表示为多项式函数,积分可解析的算出,使用数值积分计算如下:
*实现代码*y1=0.1*trapz(x1);%第1时段用水量(仍然以高度表示),0.1为几分步长y2=0.1*trapz(x2);%第2时段用水量y12=0.1*trapz(x12);%第一供水时段用水量y3=0.1*trapz(x3);%第二供水时段用水量y=(y1+y2+y12+y3)*237.8*0.01%一天的总用水量*5.4流量及总用水量的检验流量及总用水量的检验计算出各时刻的流量可用水位记录的数值微分来检验。
用水量y1可用第1时段测量记录中的下降高度968-822=146来检验,类似的,y2用1082-822=260检验。
供水时段流量的一种检验办法如下:
供水时段的用水量加上水位升高值260是该时段的抽入的水量,除以时段长度得到水泵的功率(单位时间抽入的水量),而两个供水时段水泵的功率大致相等。
第一二时段水泵的功率可计算如下:
*实现代码*P1=(y12+260)/2;%第一供水时段的水泵的功率(水量以高度表示)tp2=20.8:
0.1:
23;xp2=polyval(c3,tp2);%xp2输出第二供水时段各时刻的流量p2=(0.1*trapz(x3)+260)/2;%第二供水时段水泵的功率(水量以高度表示)*6计算结果计算结果下面是水塔一天的流量曲线图:
图6.1当取三次多项式拟合的流量曲线图由图6.1我们可以看到,流量曲线与原始记录基本上相吻合,但在第1时段和第1泵水时段的交接处曲线不太光滑,这说明我们采用3次曲线通过4点的做法不够好,应该多取几点进行拟合。
0点到10点很流量很低,10点到下午3点即中午时间段是用水高峰期。
7分析与改进分析与改进由表2可看出,第1时段用水量与水位测量记录中的下降高度146相差无几,第2时段用水量与记录中的下降高度260相差无几,所以数据拟合、数值积分的精度是足够的。
对不同次数的拟合多项式第1、2供水时段用水量相差稍大,两供水时段水泵的功率亦有差别,都说明供水时段用3次曲线通过4点的做法不够好,应多取几点作拟合,但要注意让流量曲线在不同时段相接处保持连续。
由图1可看出,流量曲线与原始记录基本上相吻合,零点到10点钟流量很低,10点到下午3点是用水高峰,全天流量平均在22cm/h左右。
若按这个平均流量计算,一天总用水量应为2224237.80.01=1255.6L,与表2中的结果非常接近。
参考文献参考文献1李大潜中国大学生数学建棋竞赛M北京高等教育出版社19982叶其孝大学生数学建模竞赛辅导M长沙湖南孩育出版社19933萧树铁数学实脸M北京高等教育出版社19994乐经良数学实脸M北京高等教育出版社20055Justinmatlab数学实验http:
/2010-7-4附录附录部分源代码部分源代码t=0,0.92,1.84,2.95,3.87,4.98,5.90,7.01,7.93,8.97,9.98,10.92,10.95,12.03,12.95,13.88,14.98,15.90,16.83,17.94,19.04,19.96,20.84,22.01,22.96,23.88,24.99,25.91;h=9689489319138988818698528398220010821050102199496594191889286684382200105910351018;%水泵启动是水位用“0”表示c1=polyfit(t(1:
10),h(1:
10),3);%用3次多项式拟合第1时段水位,c1输出3次多项式的系数a1=polyder(c1);%输出多项式(系数为c1)导数的系数tp1=0:
0.1:
9;x1=-polyval(a1,tp1);%x1输出多项式(系数为a1)在tp1点的函数值(取负后变为正值),即tp1时刻的流量,类似可计算第2时段各时刻的流量c2=polyfit(t(1:
10),h(1:
10),3);%用3次多项式拟合第1时段水位,c2输出3次多项式的系数a2=polyder(c2);%输出多项式(系数为c1)导数的系数tp2=11:
0.1:
20;x2=-polyval(a2,tp2);%x2输出多项式(系数为a2)在tp2点的函数值(取负后变为正值),即tp2时刻的流量,类似可计算第2时段各时刻的流量xx1=-polyval(a1,89);%取第1时段在t=8,9的流量xx2=-polyval(a2,1112);%取第2时段在t=11,12的流量xx12=xx1xx2;c12=polyfit(891112,xx12,3);%拟合3次多项式tp12=9:
0.1:
11;x12=polyval(c12,tp12);%x12输出第一供水时段各时刻的流量。
dt3=diff(t(22:
24);%最后3个时刻的两两之差dh3=diff(h(22:
24);%最后3个水位的两两之差dth3=-dh3/dt3;%t(22)和t(23)的流量t3=20,20.8,t(22),t(23);xx3=-polyval(a2,t3(1:
4),dth3);%t3各时刻的流量c3=polyfit(t3,xx3,3);%拟合3次多项式tp3=20.8:
0.1:
24;x3=polyval(c3,tp3);%x输出第二供水时段(外推至t=24)各时刻的流量y1=0.1*trapz(x1);%第1时段用水量(仍然以高度表示),0.1为几分步长y2=0.1*trapz(x2);%第2时段用水量y12=0.1*trapz(x12);%第一供水时段用水量y3=0.1*trapz(x3);%第二供水时段用水量y=(y1+y2+y12+y3)*237.8*0.01%一天的总用水量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学模型与数学软件综合训练 水塔 流量 估计 数学 建模 论文 数学模型 软件 综合 训练 MATLAB 源程序