小浪底调水调沙matlab,2017小浪底调水调沙原理

篇一:黄河小浪底调水调沙

黄河小浪底调水调沙问题

2004年6月至7月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形***造洪峰进行调沙试验获得成功.整个试验期为20多天,小浪底从6月19日开始预泄放水,直到7月13日恢复正常供水结束.小浪底水利工程按设计拦沙量为75.5亿立方米,在这之前,小浪底共积泥沙达14.15亿吨.这次调水调试验一个重要目的就是由小浪底上游的三门峡和万家寨水库泄洪,在小浪底形***造洪峰,冲刷小浪底库区沉积的泥沙.在小浪底水库开闸泄洪以后,从6月27日开始三门峡水库和万家寨水库陆续开闸放水,人造洪峰于29日先后到达小浪底,7月3日达到最大流量2700立方米/每秒,使小浪底水库的排沙量也不断地增加.下面是由小浪底观测站从6月29日到7月10日检测到的试验数据:

表1: 试验观测数据 单位:水流为立方米 / 秒,含沙量为公斤 / 立方米

(1) 给出估算任意时刻的排沙量及总排沙量的方法; (2) 确定排沙量与水流量的变化关系。

篇二:黄河小浪底调水调沙工程数学实验实验报告

《数学实验》实验报告

题目:黄河小浪底调水调沙工程

姓名: 胡 迪学号:201014622 专业:信息与计算科学

黄河小浪底调水调沙问题

2004年6月至7月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形***造洪峰进行调沙试验获得成功。整个试验期为20多天,小浪底从6月19日开始预泄放水,至到7月13日恢复正常供水结束。小浪底水利工程按设计拦沙量为75.5亿m3,在这之前,小浪底共积泥沙达14.15亿t。这次调水调沙试验一个重要的目的就是由小浪底上游的三门峡和万家寨水库泄洪,在小浪底形***造洪峰,冲刷小浪底库区沉积的泥沙,在小浪底水库开闸泄洪以后,从6月27日开始三门峡水库和万家寨水库陆续开闸放水,人造洪峰于29日先后到达小浪底,7月3日达到最大流量2700 ,使小浪底水库的排沙量也不断地增加。表1是由小浪底观测站从6月29日到7月10日检测到的试验数据。

表1 试验观测数据 ( 单位:水流为m

3

/s,含沙量为kg/m3)

现在,根据试验数据建立数学模型研究下面的问题: (1)给出估算任意时刻的排沙量及总排沙量的方法; (2)确定排沙量与水流量的变化关系。

关键词:拟合,SAS,Matlab,线性回归,调水调沙实验

问题分析:

1、对于问题一,所给数据中水流量x和含沙量h的乘积即为该时刻的排沙量y即:y=hx。 2、对于问题二,研究排沙量与排水量的关系,从实验数据中可以看出,开始排沙量随水量增加而增加,而后随水流量的增加而减少,显然变化关系并非线性的关系,为此,把问题分为两部分,从水流量增加到最大值为第一阶段,从水流量最大值到结束为第二阶段,分别来研究水流量与排沙量之间的函数关系。

模型假设:

1、水流量和排沙量都是连续的,不考虑上游泄洪所带来的含沙量和外界带来的含沙量。 2、时间是连续变化的,所取时间点依次为1,2,3,…,24,单位时间为12h。

模型的建立与求解:

对于问题一,因为排沙量与时间的散点图基本符合正态曲线,如图二所示。所以,排

沙量的对数与时间的函数关系就应该符合二次函数关系,因而排沙量取对数后,再与时间t进行二次回归,排沙量取自然后的数据见表2. 假设排沙量与时间函数关系的数学模型是

at^2?bt?c

两边取对数得 Lny=at^2+bt+c

y?

e

先由表二做出排沙量的自然对数lny与时间t的散点图见图一,并利用SAS软件进行拟合,得到排沙量的自然对数与时间的回归方程为: Lny=-0.0209t^2+0.4298t+10.6321

由回归拟合参数表可知回归方程是显著的,因为相关系数人R^2=0.9629,误差均方S^2=0.0543,说明回归曲线拟合效果很好。 所以排沙量与时间之间的函数关系式为

y?e

?0.0209t^2?0.4289t?10.6312

图二:排沙量对时间的曲线图

最后对所求出的函数关系在区间[0,24]之间进行积分

?

24

12*60*60*e

?0.0209t^2?0.4289t?10.6312

dt

结果为总排沙量1.93962亿吨,此与媒体报道的排沙量几乎一样。

篇三:黄河小浪底调水调沙问题

2004 年6 月至7 月黄河进行了第三次调水调沙试验,特别是首次由小浪底、三门峡和万家寨三大水库联合调度,采用接力式防洪预泄放水,形***造洪峰进行调沙试验获得成功。整个试验期为20 多天,小浪底从6 月19 日开始预泄放水,直到7 月13 日恢复正常供水结束。小浪底水利工程按设计拦沙量为75.5 亿m3,在这之前,小浪底共积泥沙达14.15 亿t。这次调水调沙试验一个重要目的就是由小浪底上游的三门峡和万家寨水库泄洪,在小浪底形***造洪峰,冲刷小浪底库区沉积的泥沙,在小浪底水库开闸泄洪以后,从6 月27 日开始三门峡水库和万家寨水库陆续开闸放水,人造洪峰于29日先后到达小浪底,7 月3 日达到最大流量2700m3/s,使小浪底水库的排沙量也不断地增加。下表是由小浪底观测站从6 月29 日到7 月10 检测到的试验数据。

现在,根据试验数据建立数学模型研究下面的问题: (1)给出估计任意时刻的排沙量及总排沙量的方法; (2)确定排沙量与水流量的关系。

模型的建立与求解

已知给定的观测时刻是等间距的,以 6 月29 日零时刻开始计时,则各次观测时刻(离开始时刻6 月29 日零时刻的时间)分别为

t = 3600(12i ? 4) ,i =1,2,……,24,

其中计时单位为秒。第1 次观测的时刻 t1 =28800

最后一次观测的时刻t24 = 1022400

记第i 次观测时水流量为 vi ,含沙量为ci ,则第i 次观测时的排 沙量为 yi = ci vi。 数据见表

对于问题(1),根据所给问题的试验数据,要计算任意时刻的排沙量,就要确定出排沙量随时间变化的规律,可以通过插值来实现。考虑到的排沙量时间的连续函数,为了提高模型的精度,采用三次样条函数进行插值: Matlab实现:

t=[28800 72000 115200 158400 201600 244800 288000 331200 374400 504000 547200 590400 633600 676800 720000 763200 806400 849600 979200 1022400];%时刻

y=[56700 114000 157500 187000 207000 235200 250000 265200 286200 307400 306800 300000 271400 231000 160000 111000 91000 54000 8000 4500];%排沙量

pp=csape(t,y);%三次样条插值,返回pp结构 t1=t(1);t2=t(end);

TL=quadl(@(tt)ppval(pp,tt),t1,t2)%t1到t2时刻进行数值积分,得到总流量

Y=ppval(pp,X) %该函数可以计算X点的预测值,‘pp’是样条插值返回的结构

417600 460800892800 936000302400 31280045500 30000

对于问题(2),研究排沙量与水量的关系,从试验数据可以看出,开始排沙量是随着水流量的增加而增长,而后是随着水流量的减少而减少。显然,变化规律并非是线性的关系,为此,把问题分为两部分,从开始水流量增加到最大值2720m3/s(即增长的过程)为第一阶段,从水流量的最大值到结束为第二阶段,分别来研究水流量与排沙量的关系。 画出排沙量与水流量的散点图(见图 2)。

Matlab实现:

v1=[1800 1900 2100 2200 2300 2400 2500 2600 2650 2700 2720];% v1,v2 为水流量 v2=[2650 2600 2500 2300 2200 2000 1850 1820 1800 1750 1500 1000 900]; y1=[56700 114000 y2=[307400 306800

157500 300000

187000 271400

207000 231000

235200 160000

250000 111000

265200 91000

286200 54000

302400 45500

312800]; 30000

8000 4500];%y=[y1,y2]为排沙量 subplot(1,2,1), plot(v1,y1,'*') subplot(1,2,2), plot(v2,y2,'*')

从散点图可以看出,第一阶段基本上是线性关系,第二阶段准备依次用二次、三次、四次曲线来拟合,看哪一个模型的剩余标准差小就选取哪一个模型。最后求得第一阶段排沙量y 与水流量v 之间的预测模型为

y = 250.5655v ? 373384.4661

Matlab实现:

n1=polyfit(v1,y1,1) %拟合一次多项式,系数排列从高次幂到低次幂 n2=polyfit(v1,y1,2)

yc1=polyval(n1,v1); %求预测值 yc2=polyval(n2,v1);

wc1=sum((y1-yc1).^2); %以下求误差平凡和 wc2=sum((y1-yc2).^2);

第二阶段的预测模型为一个四次多项式。

y = ?2.7693×10?7 v4 + 0.0018 v3 ? 4.092v2 + 3891.0441v?1.32262749668×106 Matlab实现:

nihe1=polyfit(v2,y2,3); %拟合3次多项式 nihe1保留的是多项式的系数 yche1=polyval(nihe1,v2); %求预测值

wcha1=sum((y2-yche1).^2); %以下求误差平凡和

nihe2=polyfit(v2,y2,4); %拟合4次多项式 yche2=polyval(nihe2,v2); %求预测值

wcha2=sum((y2-yche2).^2); %以下求误差平凡和

nihe3=polyfit(v2,y2,5); %拟合5次多项式 yche3=polyval(nihe3,v2); %求预测值

wcha3=sum((y2-yche3).^2); %以下求误差平凡和

比较wcha1 wcha2 wcha3的大小,取最小值,对应的拟合多项式

插值拟合方法的matlab实现不仅仅是我以上所用,希望大家主动查找一些文献资料学习!

内容由用户发布,不代表本站观点。如发现有害或侵权内容。请点击这里

你可能感兴趣的:(小浪底调水调沙matlab)