《水塔水流量的估计》课程设计论文
水塔水位课程设计心得及遇到问题解决

课程设计心得和遇到问题的解决这次水塔水位控制系统的课程设计中,我和陈达通一组,我们在理解了系统的原理基础上,先查阅了各个元器件的参数和管脚图,然后进行总体设计,画出了硬件的原理图以及板上布线的连接图,同时,我们还利用proteus软件画出了硬件的仿真电路,先用keil软件编写好控制程序,在proteus中进行仿真,以此验证我们用c语言编写的程序是否正确。
仿真正确后,我们才进行电路的焊接和调试。
这样就能很好地判断设计中遇到的问题是硬件问题还是软件问题,提高了解决问题的效率。
软件的编写主要由我完成,控制程序采用c语言编写,控制程序中,首先对P1口初始化,然后用了个无条件循环,在循环中用if判断语句,对种情况进行判断,并执行相对应的控制命令。
其中在声光报警部分中,我采用了用很小的延时,将控制蜂鸣器的P1.4口循环取反,以产生高频脉冲驱动蜂鸣器响。
而在灯的闪烁上,我采用对脉冲数进行计数,判断达到一定数目就将控制灯的P1.0取反,使其闪烁。
这样就实现了调用一个延时程序,而蜂鸣器频率和灯闪的频率可以不同。
在课程设计中,我们遇到以下问题,并采用了相应的解决方法:问题1:单片机一上电,运行程序后,传感器上下限均为低电平,但电机没有转。
解决方法:原来程序中忘记对P1口初始化,上电默认为高电平,导致控制有误。
进行初始化后解决。
问题2:传感器在空气中用导线连接进行测试,信号输出正确,但在水中却有误。
解决方法:重新改变铜片的放置方式,增大铜片与水面的接触面积,解决了该问题。
问题3:报警后报警灯和蜂鸣器仍在响,没有复位。
解决方法:在无条件循环的一开始,即各条件判断的前面就将P1.4和P1.3口复位,这样在报警状态解除后,灯灭蜂鸣器不响,问题解决。
通过这次课程设计从电路的设计到电路连接再到软件的设计,我熟悉了一个完整的设计过程,同时在对电路分析,调试中将课本知识应用到了实践中,让我明白,课本知识是一个基础,可以指导实践,也增强了我在实践中不断探索、解决问题的能力。
毕业设计(论文)水塔水位pid控制系统设计

水塔水位PID控制系统设计摘要供水是一个关系国计民生的重要产业。
随着社会的发展和人民生活水平的提高,对城市供水提出了更高的要求,有一个水箱需要维持一定的水位,该水塔里的水以变化的速度流出。
这就需要有一个输入控制液体阀以不同的速度给水塔供水,以维持水位的变化,这样才能使水塔不断水。
研究设计的基于PLC控制的水塔水位PID供水系统,以西门子公司的S7-200系列中PLC-CPU226为基础,结合模拟量模块EM235、液位传感器、输入控制液压阀、输出控制液压阀等,组成一个基于S7-200系列中PLC-CPU226的水塔水位控制系统,能完成逻辑控制、水位调节和数据采样等功能,实现对水塔的水位进行控制及检测。
在设计中大量运用PLC中PID来实现水塔水位的控制,为了精确地实现对水位的控制,建立成闭环控制系统,实现了水塔中的进、出水的水位自动控制。
关键词:可编程控制器PLC,水塔水位,PID控制WATER TOWERS PID CONTROL SYSTEM DESIGNABSTRACTWater supply is an important industry of the people's livelihood. With the social development and people's living standards, urban water supply to a higher demand, there is a need to maintain a certain water tank water level, the water towers in order to change the speed of the outflow. This requires a liquid input control valve to the different speeds of water towers in order to maintain the water level changes, so that continuous water towers.PLC-based research and design of the towers level PID control the water supply system to Siemens S7-200 series PLC-CPU226-based light simulation module EM235, liquid level sensors, type of hydraulic control valve, hydraulic valve control output and so on, based on the formation of a S7-200 series of the PCL-CPU226 towers water level control system, to complete logic control, water regulation and function of data sampling, etc., to achieve the level of the water tower for control and detection. In the design of PID make extensive use of PLC to achieve the level of control towers, in order to achieve precise level of control, into a closed-loop control system, the water tower in progress, the water level of automation.KEY WORDS: Programmable Logic Controller PLC, Water Towers, PID Control目录前言 (1)第1章水塔水位自动控制系统的概述 (2)1.1 水位控制系统现状与发展 (2)1.2 水塔水位自动控制系统的组成 (2)1.3 水位控制系统效率及运行模式分析 (3)第2章PLC结构和工作原理 (4)2.1 PLC组成与基本结构 (4)2.1.1 PLC的系统结构 (4)2.1.2 PLC的基本工作原理 (5)2.2 PLC的主要应用 (6)2.3 S7-200 系列可编程控制器 (6)2.3.1 S7-200 PLC系统组成 (7)2.3.2 S7-200系列PLC元件功能 (7)2.4 PID控制器简介 (9)2.4.1 PID控制器的结构及原理 (9)2.4.2 数字式PID控制 (10)2.4.3 数字式PID控制的实现 (12)第3章水塔水位控制系统方案设计 (14)3.1 系统的工作原理 (14)3.1.1 设计分析 (14)3.1.2 可行性试验 (15)3.1.3 可行性分析 (16)3.2 水位闭环控制系统 (16)3.2.1 PLC的选择 (17)3.2.2 供水的控制方法 (18)第4章PLC中PID控制器的实现 (20)4.1 PID算法 (20)4.2 PID应用 (21)4.3 PLC实现PID控制的方式 (21)4.4 PLC中PID控制器的实现 (22)4.5 PID指令及回路表 (24)第5章系统硬件开发设计 (26)5.1 硬件系统的结构 (26)5.2 可编程控制器的选型 (26)5.3 EM235模拟量模块 (28)5.3.1 EM235的安装使用 (29)5.3.2 EM235的工作程序编制 (29)5.4 系统硬件连接图 (30)5.5 控制系统I/O地址分配 (30)第6章系统软件控制设计 (31)6.1 水位PID控制的逻辑设计 (31)6.2 梯形图编程 (34)6.3 控制程序 (37)6.4 联机 (38)结论 (39)谢辞 (40)参考文献 (41)附录 (41)外文资料翻译 (44)前言在工业生产中,电流、电压、温度、压力、液位、流量等都是常用的主要被控参数。
水塔水流量估计2009

实验水塔水流量的估计实验目的本次实验的主要目的是让学生会用数学软件进行插值计算并解决一些具体的实际问题。
介绍一些经典的插值方法,包括拉格朗日插值法、埃尔米特插值法、分段插值法、三次样条插值法等等。
实验内容1实验问题美国某州的各用水管理机构要求各社区提供以每小时多少加仑计的用水率以及每天所用的总水量。
许多社区没有测量流入或流出水塔的水量装置,他们只能代之以每小时测量水塔中的水位,其误差不超过5%。
更重要的是,当水塔中的水位下降到最低水位L 时水泵就启动向水塔输水直到最高水位H,期间不能测量水泵的供水量。
因此,当水泵正在输水时不容易建立水塔中水位和用水量之间的关系。
水泵每天输水一次或两次,每次约二小时。
试估计任何时刻(包括水泵正在输水时间)从水塔流出的水流量f(t),并估计一天的总用水量。
已知该水塔是一个高为40英尺(ft),直径为57英尺(ft)的正圆柱,表12.1给出了某个小镇一天水塔水位的真实数据,水位降至约27.00ft水泵开始工作,水位升到35.50ft停止工作。
(注:1英尺(ft)=0.3024米(m))2 问题分析流量是单位时间内流出水的体积,由于水塔是正圆柱形,横截面积是常数,所以在水泵不工作时段,流量很容易根据水位相对时间的变化率算出。
问题的难点在于如何估计水泵供水时段的流量。
水泵供水时段的流量只能靠供水时段前后的流量经插值或拟合得到。
作为用于插值或拟合的原始数据,我们希望水泵不工作时段的流量越准确越好。
这些流量大体上可由两种方法计算,一是直接对表12.1中的水量用数值微分算出各时段的流量,用它们拟合其它时刻或连续时间的流量;二是先用表中数据拟合水位—时间函数,求导数即可得到连续时间的流量。
有了任何时刻的流量,就不难计算一天的总用水量。
其实,水泵不工作时段的用水量可以由测量记录直接得到,由表12.1中下降水位乘以水塔的截面积就是这一时段的量这个数值可以用来检验数据插值或拟合的结果。
案例6 估计水塔水流量

f ( t )dt 335329 (加仑) f ( t )dt 336480 (加仑)
25.5 1.5
相差只约1%
[0,24]区间内检验
第一次充水 前总用水量 第一次充水后, 第二次充水前 总用水量 第一次充水 期间用水量 第二次充水 期间用水量
V1= 606125-514872=91253(加仑)
充水时间约为2.1189小时
3. 由Vi—ti关系产生水流量 fi—ti的关系
注:亦可以由Vi—ti关系拟合 V(t),再求微商得到 f(t)
关于水流量 fi
Vi 1 Vi f i f (t i ) t i 1 t i V i V i 1 与 f i f (t i ) t i t i 1
水体积的误差为0.5% 用样条逼近的用水量其误差可用抽样计算得5.1%
一天 总量 误差
2 2 2 2 SV [ SV0 SV8.9678 SV p SV10.9542 SV20.8392
1
2 2 2 2 SV p SV 22.9581 SV23.88 SV[ 23.88 , 24 ] ]1 2
水泵工作的时间为32284秒(8.9678 小时); 水泵结束时间为39435秒(10.9542小时); 充水时间约为1.9864小时
水泵工作的时间为75021秒(20.8392 小时),水 位26.97英尺 第 二 次 充 水 水泵结束时间为82649秒(22.9581小时), 补充水位35.50英尺
水流量值(表3)
时
(小时)
间
水 流 量
(加仑/小时)
时
(小时)
间
水流量
(加仑/小时)
时
水塔输水问题论文

ΧΧΧΧΧΧΧΧΧΧΧΧΧ摘要本文建立了一个关于求在任一时刻储水桶内水面高度的数学模型。
本文首先运用微元法思想求出储水桶内的水在极小一段高时的体积,再根据水从孔口流出的流量为通过孔口横截面的水的体积对时间的变化率,求出极短时间内与所取一小段高的关系。
本文还可将模型推广到对其他种类的输水问题的分析,以及其他应用领域,如:农田灌溉问题、汽车加油问题等等。
一、问题重述某水塔站有一个圆柱形储水桶,底面半径为5m,高为10m.在桶底有一个活动的阀门,当水阀门打开时,储水桶里的水就沿着连着阀门的水管往下输水,水管半径0.2m。
设水在(h为储水桶内水的高度)。
求任一时刻的水面高度和将水放空进水管时的流速度为gh=v2所需的时间。
二、问题分析本问题的难点是水在进水管时的流速度是随储水桶内水的高度变化所变化,如果仅运用流速度乘以时间为水流过水管时的长度,即水管作圆柱体时的高。
如果以此作高则认为在输水过程中流速度总与t时刻末的速度保持一致,就相当于不是变速运动,这将产生很大的误差,为了减小误差,我们应用微元思想和积分知识对此求解。
三、基本假设1、储水桶内的水最后都能输出,即水放空时储水桶内的水无残留;2、整个放水过程无能量损失;3、所用测量仪器精确。
四、变量及符号说明R:储水桶底面半径;r:输水管半径;h:储水桶内水的高度;v:流过输水管水的体积;()出t :储水桶内水的水面高度为h 时所对应的时间; T :水放空时所对应的时间。
五、 模型的建立与求解由题意可知输水管里水的体积 ()t gh rv 22π=出所以 ()ghrv t 22π出=…………(*)将储水桶的直径作为横坐标,储水桶的高度作为纵坐标建立直角坐标系如图(1),所示:取储水桶内水的高度h 为积分变量,它的变化区间[]h ,0,在区间[]h ,0上任取一小区间[]dh h h +,如图(2),相应薄片的体积近似于以储水桶的底面半径R 为地半径,dh 为高的圆柱体的体积,从而得到体积微元dh R dv 2π=由(*)可得:ghr dh R gh rdh R ghrdvdt 22222222===πππ于是[]()gh gh grR h grRh d hh g r R t h204.050204.0105010222222221022210-=-==⎰=………(**)将题目中所给的数据以及当水放空时即28.90s m g h ==,代入(**),求得水放空时所用的时间为(1)(2)min 88.149.892204.0050204.01050≈≈-=s ggT六、 模型评价这个模型是在理想情况下得到的,它的一些假设,如:水放空时储水桶内的水无残留, 整个放水过程无能量损失等可能是不现实的。
水塔流量估计的数学建模

水塔流量估计的数学建模1. 引言水塔是现代城市供水系统中至关重要的组成部分,其作用是通过储存水源来保障城市居民日常用水,并且在有紧急情况时提供应急用水。
为了更好地保障全社会的用水需求,并降低供水系统建设和运营成本,对水塔的流量进行准确的估计和预测具有重要意义。
本文将探讨如何利用数学建模的方法对水塔流量进行估计和预测。
2. 水塔流量的影响因素水塔流量的大小受到多种因素的影响,主要包括以下几个方面:2.1 水塔容积水塔的容积越大,其流量也就越大。
因此,在进行水塔流量估计时,首先需要考虑其容积。
2.2 外部水压水塔的流量受到外部水压的影响。
如果外部水压较大,则水塔的流量也将较大。
2.3 水泵功率水泵功率的大小直接影响到水塔的流量大小。
水泵功率越大,水塔的流量也就越大。
2.4 关阀状态水塔流量还受到管道关阀状态的影响。
如果关阀状态较大,则水塔流量也将减小。
3. 水塔流量的数学建模方法水塔流量的数学建模方法主要包括以下几个步骤:3.1 收集数据收集水塔流量的相关数据,并对其进行初步的整理和分析。
3.2 设计建模方程根据已收集到的数据,设计合适的建模方程。
建模方程需要考虑到水塔容积、外部水压、水泵功率、关阀状态等多种因素。
3.3 参数估计利用已有的数据对建模方程中的参数进行估计。
参数估计是非常重要的一步,其准确性直接影响到模型的准确性和可靠性。
3.4 模型检验和优化使用已有的数据来对所建立的模型进行检验和优化。
检验过程中需要对模型的精度、准确性、鲁棒性等进行评估,如果出现问题,需要进行适当的调整。
4. 案例分析为了说明水塔流量估计的数学建模方法,我们以某市几座水塔为例进行分析。
4.1 收集数据在该市的几座水塔中,我们选取了其中一座水塔进行了数据的收集,主要包括该水塔的容积、水泵功率、外部水压等基本信息。
4.2 设计建模方程根据收集到的数据,我们设计了一个基础的建模方程,其中各项参数分别为:Q为流量,V为水塔容积,P为外部水压,H为水泵的扬程,K为关阀系数。
水塔水流量的估计

水塔水流量的估计一.实验问题某居民区有一供居民用水的圆柱形水塔,一般可以通过测量其水位来估计水的流量。
但面临的困难是,当水塔水位下降到设定的最低水位时,水泵自动启动向水塔供水,到设定的最高水位时停止供水,这段时间无法测量水塔的水位和水泵的供水量。
通常水泵每天供水一次,每次约2h。
水塔是一个高为12.2m,直径为17.4m的正圆柱。
按照设计,水塔水位降至约8.2m时,水泵自动启动,水位升到约10.8m时水泵停止工作。
表1是某一天的水位测量纪录(符号“//”表示水泵启动),试估计任何时刻(包括水泵正供水时)从水塔流出的水流量,及一天的总用水量。
表1 水位测量纪录二.问题分析根据以上数据的形式和以往经验,适合采用线性拟合的方式进行数据处理。
对第1、2、3未供水时段可直接进行用五次多项式进行拟合。
对第1、2供水时段分别在两端各取两个点用前后时刻的流速拟合得到。
结果可以用分段函数表示分为5段,分别是第一未供水时段,第一供水时段,第二未供水时段,第二供水时段,第三未供水时段。
得出流速之后再乘以水塔横截面积即得任何时刻与水塔流出水流量的关系,即流速与时间的关系。
对流速进行分段积分并求和,即得一天的总水流量。
三.程序的设计与求解方法1.数据的单位转换水塔的横截面积为A=(17.4)^2*pi/4=237.0661(平方米)。
2.拟合水位——时间函数(1)对第1未供水时段的数据进行拟合。
t=[0 0.92 1.84 2.90 3.87 4.98 5.90 7.00 7.93 8.97 10.95 12.03 12.95 13.88 14.98 15.90 16.83 17.93 19.04 19.96 20.84 23.88 24.99 25.91]h=[ 9.68 9.48 9.31 9.13 8.98 8.81 8.69 8.52 8.39 8.22 10.82 10.50 10.21 9.94 9.65 9.41 9.18 8.92 8.66 8.43 8.22 10.59 10.35 10.18] f1=polyfit(t(1:10),h(1:10),5); tm1=0:0.1:9.0; y1=polyval(f1,tm1); plot(tm1,y1)01234567898.28.48.68.899.29.49.69.8(2)对第2未供水时段的数据进行拟合。
估计水塔的水流量

估计水塔的水流量摘要:数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。
文章采用曲线拟合的方法,并利用数学软件MATLAB对水塔流量进行计算,计算结果与实际记录基本吻合。
关键字:建模MATLAB 拟合求导积分1.实验问题美国某州的各用水管理机构要求各社区提供用水率(以每小时多少加仑计,英制单位下,1加仑=4.54596dm3,美制单位下,1加仑=3.78533dm3)以及每天所用的总用水量,但许多社区并没有测量流入或流出当地水塔的水量的设备,而只能以每小时测量水塔的水位代替,其精度在0.5%以内。
更为重要的是,无论什么时候,只要水塔中的水位下降到某一最低水位L时,水泵就启动向水塔重新充水直至某一最高水位H,但也无法得到水泵的供水量的测量数据。
因此,在水泵正在工作时,不容易建立水塔中水位与水泵工作时用水量之间的关系。
水泵每天向水塔充水一次或两次,每次大约2小时。
试估计在任何时候,甚至包括水泵正在工作的时间内从水塔流出的流量()f t,并估计一天的总用水量。
水塔是一个垂直圆柱体,高为40英尺,直径为57英尺。
下表给出了某个小镇某一天的真实数据。
2.实验分析2.1 计算中将流量定义为单位时间流出的水的高度乘以水塔横截面积。
2.2 把时间分成5段:第1未供水段、水泵开启第1段、第2未供水段、水泵开启第2段、第3未供水段。
2.3 先直接对第1、2、3未供水段进行5次曲线拟合。
2.4 再对得到的曲线分别求导,取得流速(即单位时间内流出的水的高度)。
2.5 水泵开启第1、2段,分别在两端各取两个点,用时刻流速进行拟合得到这两段的流速。
2.6 流速乘以水塔横截面积就得到任何时刻的水流量。
2.7 对其进行分段积分,求和得到一天的总水流量。
3.程序设计与求解方法3.1 对表中数据进行处理数据的单位转换:x=[0,3316,6635,10619,13937,17921,21240,25223,28543,32284,39435,43318,46636, 49953,53936,57254,60574,64554,68535,71854,75021,85968,89953,93270];y=[31.75,31.10,30.54,29.94,29.55,28.92,28.50,27.87,27.52,26.97,35.50,34.45, 33.50,32.67,31.56,30.81,30.12,29.27,28.42,27.67,26.97,34.75,33.89,33.40]; t=x/3600; %时间单位为小时h=y/3.281; %水位高度单位为米水塔横截面积为a=pi*(57/2)^2;3.2 对第1段未供水段进行5次拟合x1=t(1:10);y1=h(1:10);f1=polyfit(x1,y1,5);t1=0:0.01:t(10);h1=polyval(f1,t1);plot(x1,y1,'o',t1,h1,'k');xlabel('时间(h)');ylabel('水位(m)');title('第一未供水时段的时间水位图')3.3 对第2段未供水段进行5次拟合x2=t(11:21);y2=h(11:21);f2=polyfit(x2,y2,5);t2=t(11):0.01:t(21);h2=polyval(f2,t2);plot(x2,y2,'o',t2,h2,'r');xlabel('时间(h)');ylabel('水位(m)');title('第二未供水时段的时间水位图')3.4 对第3段未供水段进行5次拟合x3=t(22:24);y3=h(22:24);f3=polyfit(x3,y3,5);t3=t(22):0.01:t(24);h3=polyval(f3,t3);plot(x3,y3,'o',t3,h3,'r');xlabel('时间(h)');ylabel('水位(m)');title('第三未供水时段的时间水位图')3.5 对1、2、3未供水段进行求导,得到流速,再乘以水塔横截面积得流量b1=polyder(f1);%求导b2=polyder(f2);%求导b3=polyder(f3);%求导g1=-polyval(b1,t1)*a;%流速值再乘以水塔横截面积得流量g11=-polyval(b1,x1)*a;g2=-polyval(b2,t2)*a;%流速值再乘以水塔横截面积得流量g22=-polyval(b2,x2)*a;g3=-polyval(b3,t3)*a;%流速值再乘以水塔横截面积得流量g33=-polyval(b3,x3)*a;plot(x1,g11,'*',t1,g1,'c') %第一未供水段时间流量图plot(t2,g2) %第二未供水段时间流量图plot(t3,g3) %第三未供水段时间流量图3.6 求水泵开启第一段的时间流量图,取那段的前后两端各两个点的流速进行拟合,再乘以水塔横截面积得流量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
水塔水流量的估计摘要:数学建模方法是处理科学理论的一种经典方法,也是解决各类实际问题的常用方法。
本文采用曲线拟合的方法,并利用数学软件MATLAB对水塔流量进行计算,计算结果与实际记录基本吻合。
关键词:建模,流量,拟合,MATLAB1.问题重述美国某州的各用水管理机构要求各社区提供用水率(以每小时多少加仑计,英制单位下,1加仑=4.54596dm3,美制单位下,1加仑=3.78533dm3)以及每天所用的总用水量,但许多社区并没有测量流入或流出当地水塔的水量的设备,而只能以每小时测量水塔的水位代替,其精度在0.5%以内。
更为重要的是,无论什么时候,只要水塔中的水位下降到某一最低水位L时,水泵就启动向水塔重新充水直至某一最高水位H,但也无法得到水泵的供水量的测量数据。
因此,在水泵正在工作时,不容易建立水塔中水位与水泵工作时用水量之间的关系。
水泵每天向水塔充水一次或两次,每次大约2小时。
试估计在任何时候,甚至包括水泵正在工作的时间内从水塔流出的流量()f t,并估计一天的总用水量。
水塔是一个垂直圆柱体,高为40英尺,直径为57英尺。
下表给出了某个小镇某一天的真实数据:2.问题分析数据的单位转换:表2流量是单位时间流出的水的体积,可以由对应时刻的流速乘以水塔的横截面积得到。
由于水塔是正圆柱形,横截面积是常数S,所以我们在这里研究的其实是流速的变化。
在水泵不工作的时段,流量很容易从水位对时间的变化率,即流速算出,问题是如何估计水泵供水时段的流速。
水泵供水时段的流速只能靠供水时段前后的流速拟合得到,作为用于拟合的原始数据,我们希望水泵不工作的时段流速越准确越好。
这些流速大体可由两种方法计算: 一是直接对表2中的水位用数值微分算出各时段的流速,用它们拟合其它时刻或连续时间的流速。
二是先用表中数据拟合水位-时间函数,求导数即可得到连续时间的流速。
一般说来数值微分的精度不高,何况测量记录还是不等距的,数值微分的计算尤其麻烦。
下面我们用第二种方法处理。
有了任何时刻的流速,就不难计算一天的总用水量。
其实,水泵不工作时段的用水量可以由测量记录直接得到,如表2可知从t=0到t=8.97(h)水位下降了6769.9m.8-,乘以水塔的横截面积S就是这一时段的用水量。
这个数值=)(4568.12201可以用来检验拟合的结果。
水泵第1次供水时段为t=8.98(h)到t=10.94(h),第2次供水时段为t=21(h)到t=23(h)。
这是根据最低和最高水位分别是8.2201m和10.8199m及表2的水位测量记录作出的假设。
其中前3个时刻取自实测数据(精确到0.01h),最后1个时刻来自每次供水约两小时的已知条件(从记录看,第2次供水时段应在有记录的22.96h 之后不久结束)。
3.模型假设供水时段的假设水泵工作时单位时间的供水量基本为常数,这个常数大于单位时间的平均流量。
流量是单位时间流出水的体积,这里假设是水位对时间的连续函数,即()t h h =。
为简化处理,不影响问题的解决,假设流量与水泵是工作无关。
4.流量估计4.1拟合水位-时间函数从表2 测量记录看,一天有两个供水时段(以下称第1供水时段和第2供水时段)和3个水泵不工作时段(以下称第1用水时段t=0到t=8.97,第2用水时段t=10.95到t=20.48和第3用水时段t=23以后)。
对第1、2用水时段的测量数据分别作多项式拟合,得到水位函数()t h h 11=和()t h h 22=。
为使拟合曲线比较光滑,多项式次数不要太高,一般用3~6次。
由于第3时段只有3个测量记录,无法对这一时段的水位作出比较好的拟合,可采用外推的办法解决。
4.2确定流量-时间函数对于第1、2用水时段,只需将水位函数()2,1,==i t h h i i 求导数即可,对于两个供水时段的流速,则用供水时段前后(水泵不工作时段)的流速拟合得到,并且将拟合得到的第2供水时段流速外推,将第3用水时段流速包含在第2供水时段内,需要拟合四个流速函数。
4.3一天的总用水量总用水量等于两个水泵不工作时段和两个供水时段用水量之和,它们都可以由流速对时间的积分得到:5.算法设计与计算结果5.1拟合第1、2时段的水位,并得出流量 5.1.1第1用水时段的流速设t 、h 为已输入的时刻和水位测量记录,实现如下:⎰⎰'-='=tt t t dth S dt V V 0t=[0,0.92,1.84,2.95,3.87,4.98,5.90,7.01,7.93,8.97,10.95,12.03,12.95,13.88,14.98,15.90,16.83,17.94,19.04,19.96,20.84,23.88,24.99,25.91];h=[ 9.6769,9.4788,9.3081,9.1253,9.0071,8.8144,8.6864,8.5030,8.3877,8.2201,10.8199,10.4998,10.2103,9.9573,9.6190,9.3904,9.1801,8.9211,8.6620,8.4334,8.2201,10.5913,10.3292,10.1798];f1=polyfit(t(1:10),h(1:10),5); %用5次多项式拟合第1用水时段水位()t h h 11=,f1输出5次多项式的系数b1=polyder(f1); % b1输出多项式(系数为f1)导数的系数,给出水位变化率 tm1=0:0.01:8.97; %将第一用水时段[0 , 8.97]细分g1=-polyval(b1,tm1); %g1输出多项式b1在tm1点的函数值(取负后边为正值),即tm1时刻 的流速5.1.2 第2用水时段的流速 实现如下:f2=polyfit(t(11:21),h(11:21),5); %用5次多项式拟合第2用水时段水位水位()t h h 22=,f2输出5次多项式的系数b2=polyder(f2); %b2输出多项式(系数为f2)导数的系数,给出水位变化率 tm2=10.95:0.01:20.84; %将第二用水时段[10.95 , 20.84]细分g2=-polyval(b2,tm2); %g2输出多项式(b2)在tm2点的函数值(取负后边为正值),即tm2时刻的流速第1、2用水时间段的流速曲线图:5.2拟合供水时段的流速5.2.1第1供水时间段的流速在第1供水时段(t = 8.98~10.94)之前(即第1用水时段)和之后(第2用水时段)各取几点,其流速已经得到,用它们拟合第1供水时段的流速。
为使流速函数在供水时段连续,只取4个点,拟合5次多项式(即曲线必过这4个点)。
拟合5次多项式,实现如下:q1=-polyval(b1,[7.93,8.97]); %取第1时段在t=7.93,8.97的流速q2=-polyval(b2,[10.95,12.03]); %取第2时段在t=10.95,12.03的流速dx=[7.93,8.97,10.95,12.03];dy=[q1,q2]; %将四个点合并d=polyfit(dx,dy,5) ; %拟合5次多项式ex=8.97:0.01:10.95; %将第一供水时段[8.97,10.95]细分ey=polyval(d,ex); %ey输出第一供水时段各时刻的流速5.2.2第2供水及第3用水(到t=24)时间段的流速在第2供水时段之前取t =20,20.8两点的流速,在该时刻之后(第3用水时段)仅有3个水位记录,我们用差分得到流速,然后用这4个数值拟合第2供水时段的流速。
实现如下:dt3=diff(t(22:24)); %最后3个时刻的两两之差:i i t t t -=∆+1 dh3=diff(h(22:24)); %最后3个水位的两两之差:i i h h h -=∆+1 dht3=-dh3/dt3; % t(22)和t(23)的流速(差商代替微商) t3=[19.96,20.84,t(22),t(23)]; %取第2供水时段前后各两点 a=[-polyval(b2,t3(1:4),dht3)]; %求得t3各时刻的流速 h=polyfit(t3,a,5); % 拟合5次多项式mx=20.84:0.01:24.00; %将第2供水时段和第3用水时段细分 my=polyval(h,mx); % my 输出第2供水时段(到t=24)各时刻的流速 第1供水时间段,第2供水及第3用水(到t=24)时间段的流速曲线图:5.3一天的总用水量的估计第1、2用水时段和第1、2供水时段流速的积分之和乘以S ,就是一天总用水量。
虽然诸时段的流量已表示为多项式函数,积分可以解析的算出,这里仍用数值积分计算。
5.3.1第1用水时间段的用水量:其中积分值 h1通过梯形公式计算:计算得出第1用水时间段的用水量:310086.363m v = 5.3.2第2用水时间段的用水量:计算得出第2用水时间段的用水量:329356.647m v = 5.3.3第1供水时间段的用水量:计算得出第1供水时间段的用水量:3124852.103m v = 5.3.4第2供水和第3用水(到t=24)时间段的用水量计算得出第2供水和第3用水(到t=24)时间段的用水量337717.146m v = 一天总用水量:3312212.1261m v v v v v =+++=6.流速及总用水量的检验∑∑⎰⎰=-='+'∆='='=-Nk k k Nk t t t t t h t h t dt t h dt t h h kk 111111112)()()()(1122222323232Sh dt h S dt h S dt v v t t t t t t ='='='=⎰⎰⎰∑∑⎰⎰=-='+'∆='='=-Nk k k Nk t t t t t h t h t dt t h dt t h h kk 121212222)()()()(1321212121212112121Sh dt h S dt h S dt v v t t t t t t ='='='=⎰⎰⎰∑∑⎰⎰=-='+'∆='='=-Nk k k Nk t t t t t h t h t dt t h dt t h h k k 11211211212122)()()()(12133333434343Sh dt h S dt h S dt v v t t t t t t ='='='=⎰⎰⎰∑∑⎰⎰=-='+'∆='='=-Nk k k Nk t t tt t h t h t dt t h dt t h h kk 03133332)()()()(1111111101Sh dt h S dt h S dt v v t t t t t t ='='='=⎰⎰⎰6.1用水时段流速的检验方法:计算出的各时刻的流速可用水位记录的数据来检验。