水塔流量估计_数学建模论文___《数学模型与数学软件综合训练》论文__MATLAB源程序

更新时间:2023-05-01 19:45:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数学模型与数学软件综合训练》论文

训练题目:水塔流量估计

学生学号:07500119 姓名:周才祥

计通院信息与计算科学专业

指导教师:黄灿云(理学院)

2010年春季学期

1 07500119 周才祥10年春数学模型与数学软件综合训练

前 言

在生产实践和科学研究中,常常遇到这样的问题:由实验或测量得到的一批离散样点,需要确定满足特定要求的曲线或曲面(即变量之间的函数关系或预测样点之外的数据)。如果要求曲线(面)通过所给的所有数据点(即确定一个初等函数通过已知各数据,一般用多项式或分段多项式),这就是数据插值。在数据较少的情况下,这样做能够取得好的效果。但是,如果数据较多,那么插值函数是一个次数很高的函数,比较复杂。如果不要求曲线(面)通过所有的数据点,而是要求它反映对象整体的变化趋势,可得到更简单实用的近似函数,这就是数据拟合。函数插值和曲线拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者在数学方法上是完全不同的。 针对水塔数据分析,利用数学软件MA TLAB 进行数据拟合。

曲线拟合问题是指:已知平面上n 个点(i x ,i y ),i =0,1,…,n ,i x 互不相同,寻求函数

y =)(x f ,使)(x f 在某种准则下与所有数据点最为接近,即曲线拟合得最好。

线性最小二乘法是解决曲线拟合最常用的方法,其基本思路是,令

)(x f =)(11x r a +)(22x r a +…+)(x r a m m

其中)(x r k 是事先选定的一组函数,系数k a (k =0,1,…,m ,m

平方和Q =∑=-n

i i x f 1

2i )y )((达到最小。这里的建模原理实质上与实验七中的回归分析是一致的。

摘要数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。文章采用曲线拟合的方法,并利用数学软件MATLA B对水塔流蚤进行计算计算结果与实际记录基本吻合。

关键词:建模,流量,拟合,MA TLAB

2 07500119 周才祥10年春数学模型与数学软件综合训练

3 07500119 周才祥10年春数学模型与数学软件综合训练

目录

错误!未找到引用源。

1 07500119 周才祥10年春数学模型与数学软件综合训练

2 07500119 周才祥10年春数学模型与数学软件综合训练

1问题提出

某居民区有一供居民用水的圆柱形水塔,一般可以通过测量其水位来估计水的流量。面临的困难是,当水塔水位下降到设定的最底水位时,水泵自动启动向水塔供水,到设定的最高水位的时候停止供水,这段时间无法测量水塔的水位和水泵的供水量。通常水泵每天供水一两次,每次约2h.

水塔是一个高为12.2m,直径为17.4m的正圆柱。按照设计。水塔水位降至约8.2m时,水泵自动启动,水位升至约10.8m时水泵停止工作。

下表是某一天的水位测量记录(符号“//”表示水泵启动),试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量。

表格 1

时刻(h)0 0.92 1.84 2.95 3.87 4.98 5.90 7.01 7.93 8.97 水位(cm)968 948 931 913 898 881 869 852 839 822 时刻(h)9.98 10.92 10.95 12.03 12.95 13.88 14.98 15.90 16.83 17.94 水位(cm)// // 1082 1050 1021 994 965 941 918 892 时刻(h)19.04 19.96 20.84 22.01 22.96 23.88 24.99 25.91

水位(cm)866 843 822 // // 1059 1035 1018

2问题分析

流量是单位时间流出水的体积。由于水塔为正圆柱形,横截面积是常数,在水泵不工作的时段,流量很容易从水位对时间的变化率算出,问题是如何估计水泵供水时的流量。水泵供水时段的流量只能靠供水时段前后的流量拟合得到。作为用于拟合的原始数据,希望水泵不工作时段的流量越准确越好。大体有两种计算方法:一是直接对表:1中的水位用数值微分计算出个时刻的流量,用它们拟合其他时刻或连续时间的流量;二是先用表中的数据拟合水位—时间函数,求导数可的连续时间的流量。一般来说数值为份的净度不高,何况测量记录不等距,结束值微分计算麻烦。因此选用中二种方法进行处理。

有了任何时刻的流量,就可以酸楚一天的总水量。其实,水泵不工作时段的用水量可根据记录直接得出,有表:1可知t=0到t=8.97 h,水位下降了968~822cm,乘以水塔的截面积即得该时段的用水量。该数值可用来检验拟合的结果。

3模型假设

1 07500119 周才祥10年春数学模型与数学软件综合训练

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时段的测量数据直接分别做多项式函数拟合,得到水位函数。为使拟合曲线比较光滑,多项式次数不要太高,一把为3~6次。由于第3时段只有3个测量记录,无法对这一时段的水位作出较好的拟合。

2 07500119 周才祥10年春数学模型与数学软件综合训练

3 07500119 周才祥10年春数学模型与数学软件综合训练

4.2确定流量—时间函数

对于第1、2时段只需将水位函数求导即可,对于两个供水时段的流量,则用供水时段前后(水泵不工作)的流量拟合得到,且将第2时段流量外推,将第3个时段流量包含在第2供水时段内。

4.3一天总用水量的估计

总用水量等于两个不工作时段和两个工作时段用水量之和,它们都可由流量对时间的积分得到。

5算法设计与编程

下面利用数学软件MA TLAB 对水塔流量进行计算与曲线拟合。

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=[968 948 931 913 898 881 869 852 839 822 0 0 1082 1050 1021 994 965 941 918 892 866 843 822 0 0 1059 1035 1018];%水泵启动是水位用“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.1

5.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=9~11)之前(即第1时段)和之后(即第2时段)各取几点,其流量已经得到,用它们拟合第1供水时段的流量。为使流量函数在t=9和t=11连续,我们任意取4个点,拟合3次多项式,实现如下:

*********************************实现代码************************************* xx1=-polyval(a1,[8 9]);%取第1时段在t=8,9的流量

xx2=-polyval(a1,[11 12]);%取第2时段在t=11,12的流量

xx12=[xx1 xx2];

c12=polyfit([8 9 11 12],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为几分步长

4 07500119 周才祥10年春数学模型与数学软件综合训练

5 07500119 周才祥10年春数学模型与数学软件综合训练

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计算结果

下面是水塔一天的流量曲线图:

0510152025

1416

18

20

22

24

26

28

30

32

34

图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左右。若按这个平均流量计算,一天总用水量应为22 24 237.8 0.01=1255.6L,与表2中的结果非常接近。

参考文献

[1] 李大潜中国大学生数学建棋竞赛[M] 北京高等教育出版社 1998

[2] 叶其孝大学生数学建模竞赛辅导[M] 长沙湖南孩育出版社 1993

[3] 萧树铁数学实脸[M] 北京高等教育出版社 1999

[4] 乐经良数学实脸[M] 北京高等教育出版社 2005

[5] Justin matlab数学实验df691149fe4733687e21aa78/view/3f06c6c4bb4cf7ec4afed0332010-7-4

6 07500119 周才祥10年春数学模型与数学软件综合训练

附录Ⅰ部分源代码

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=[968 948 931 913 898 881 869 852 839 822 0 0 1082 1050 1021 994 965 941 918 892 866 843 822 0 0 1059 1035 1018];%水泵启动是水位用“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,[8 9]);%取第1时段在t=8,9的流量

xx2=-polyval(a2,[11 12]);%取第2时段在t=11,12的流量

xx12=[xx1 xx2];

c12=polyfit([8 9 11 12],xx12,3);%拟合3次多项式

tp12=9:0.1:11;

x12=polyval(c12,tp12);%x12输出第一供水时段各时刻的流量。

7 07500119 周才祥10年春数学模型与数学软件综合训练

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 %一天的总用水量

8 07500119 周才祥10年春数学模型与数学软件综合训练

本文来源:https://www.bwwdw.com/article/oc0e.html

Top