湖水温度变化模型

湖水温度变化模型

摘要:

影响湖水温度变化的因素有很多,光照,地形等。其中秋季因湖区多风而发生湖水搅动,使水温分层温度现象基本消失,冬季湖面结冰,湖水温度出现逆温层现象,同时,由于地形走势,地理位置湖水成分及太阳照射都会使不同深度的湖水有不同的温度。论文利用数学建模理念和MATLAB软件对水温的变化与分布进行了分析和评论,围绕着湖水温度变化问题,分析并建立了湖水变化问题的数学模型,同时应用多项式拟合的方法来解决未知问题,得出了湖水温度变化最大的范围是在25.7500m处。

关键词:深度、温度、数学建模、多项式拟合 1.模型的背景问题描述

湖水在夏天会出现分层现象,其特点为接近湖面的水温度较高,越往下温度越低。这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺氧,导致水生鱼类的死亡。下表1-1是对某个湖的观测数据。

求解:1.1湖水在10cm处的温度是多少?

1.2湖水在什么深度温度变化最大?

2.模型假设

针对以上问题,对于湖水温度的模型可以做出如下的假设:

1. 湖水的温度与湖水内部的流动状态无关;

2. 湖水内部物质的分布不影响湖水温度的变化; 3. 湖水的温度不受地形、季节和天气等状况的影响; 4. 湖水底部平坦,无断沟、无起伏; 5. 湖水的深度决定了湖水的温度状况;

3.分析与建立模型

这道湖水温度变化模型问题主要研究的是湖水温度会随着深度的不同而呈现出一定的规律。但模型中只给出了温度与深度相关的有限实验数据,由此想到可能要用到插值和多项式拟合的方法来求解该模型。

假设湖水深度是温度的连续函数,其中一组统计数据为表3-1所示:

3.1引入相关变量符号如下:

x:湖水深度,单位为m;

y:湖水温度,单位为C,它是湖水深度的函数:y=f(x);

这里要应用数学中多项式拟合的方法,并且在MATLAB中实现编程,先求出湖水温度的函数y,然后再针对求出来的拟合函数进行求导,取极值。这样就可以方便地求解湖水模型中未知的问题了。

3.2 MATLAB基本语句:

>> x=[a b c d e] 创建包含指定元素的行向量; >> y=[a b c d e]’ 求该矩阵的转置; >> plot(x,y,’s’) 画实线,s为线型;

>> a=polyfit(x,y,n) 返回多项式系数从最高次系数到最底次系数,n是多项式的阶数;

>> polyfit([a b c d],[e f g h],n) 求其拟合曲线函数方程系数; >> b=regress(Y,X) MATLAB统计工具箱; >> [b,bint,r,rint,statas]=regress(Y,X,alpha)

4.模型求解及检验

将湖水模型中所给的已知数据运用MATLAB数学软件进行编程作图,横轴代表湖水深度x,纵轴代表湖水温度y,并用MATLAB数学软件画出散点图,其中绘图(如图4-1)操作的编程操作命令为:

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2]; >> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1]; >> plot(x,y,'r*')

图4-1

观察散点图像的特点,由散点图像可知,图形中的散点随不同的深度变化,间距大体适中,但是发现其中有明显的拐点,说明散点分布在一条曲线附近。由此得知湖水深度x与湖水温度之间存在着一种线性关系,因此采用二阶拟合是不合适的,于是对模型相关数据进行四阶拟合并通过实验选取不同的基函数类进行。

其中进行四次拟合的编程操作命令为: >> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2];

>> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1];

>> polyfit([0 2.3 4.9 9.1 13.7 18.3 22.9 27.2],[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1],4)

ans =

-0.0001 0.0103 -0.2279 0.9977 22.3743

拟合曲线的函数方程为y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; 显示拟合函数图像(如图4-2)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> plot(x,y)

图4-2

观察图像可以发现,采用四阶拟合得到的曲线图像明显要比二阶拟合得到的散点图像效果要好很多。首先,曲线图像显示出比散点图像更加直观的效果,这样便于进一步地进行分析模型;其次,曲线的图像是连续并且可导的,这样就便于使用导数进行相关极值问题的求解。

于是,可得水深在10cm处时的温度。其中编程操作命令为: >> a=polyfit(x,y,4); >> polyval(a,0.1)

ans =

22.4718

由此就可以求解出来当湖水深度为x=10cm处时的湖水温度为 22.4718℃。

(2)要求在哪个深度时湖水温度变化最大,也就是求拟合函数的拐点,即二阶导数为零的极值点。其中求出一阶导数的编程操作命令为:

>> syms x;

>> y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> diff(y,x) ans =

-1/2500*x^3+309/10000*x^2-2279/5000*x+9977/10000;

显示出导数图像(如图4-3)的编程操作命令为: >> x=[0:0.1:27.2];

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> plot(x,y)

图4-3

求出三阶导数的编程操作命令为: >> syms x;

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> diff(y,x) ans =

-3/2500*x^2+309/5000*x-2279/5000;

显示出三阶导数(如图4-4)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-3/2500*x.^2+309/5000*x-2279/5000; >> plot(x,y)

图4-4

求出二阶导数的编程操作命令为: >> syms x;

>> y=-3/2500*x.^2+309/5000*x-2279/5000; >> diff(y,x)

ans =

-3/1250*x+309/5000;

显示出二阶导数(如图4-5)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-3/1250*x+309/5000; >> plot(x,y)

图4-5

因为当二阶导数取零时,得到的极值点就是该模型中湖水温度变化最大的地方。因此令二阶导数等于零,有y=-3/1250*x+309/5000=0;于是就可以求解出湖水深度x=25.7500m。

其中求解的编程操作命令为:

>> y=0;subs(solve('y=-3/1250*x+309/5000'))

ans =

25.7500

这样就得出了所求模型的最终结果,当湖水深度在x=25.7500m处时,湖水温度的变化是最大的。

其中求解该模型的全部MATLAB程序为:

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2]; >> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1]; >> plot(x,y,'r*')

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2];

>> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1];

>> polyfit([0 2.3 4.9 9.1 13.7 18.3 22.9 27.2],[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1],4)

ans =

-0.0001 0.0103 -0.2279 0.9977 22.3743

>> x=[0:0.1:27.2];

>>y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> plot(x,y)

>> a=polyfit(x,y,4); >> polyval(a,0.1)

ans =

22.4718 >> syms x;

>> y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> diff(y,x) ans =

-1/2500*x^3+309/10000*x^2-2279/5000*x+9977/10000;

>> x=[0:0.1:27.2];

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> plot(x,y) >> syms x;

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> diff(y,x) ans =

-3/2500*x^2+309/5000*x-2279/5000;>> x=[0:0.1:27.2]; >>y=-3/2500*x.^2+309/5000*x-2279/5000; >> plot(x,y) >> syms x;

>> y=-3/2500*x.^2+309/5000*x-2279/5000; >> diff(y,x) ans =

-3/1250*x+309/5000;

>> x=[0:0.1:27.2];

>>y=-3/1250*x+309/5000;

>> plot(x,y)>> y=0;subs(solve('y=-3/1250*x+309/5000'))

ans = 25.7500

5.应用与推广:

对湖水温度变化模型的建立,可以更加的了解由于湖水温度变化而形成的规律,从而更加有利于水产业的经济收入。根据数学模型可以确定出在不同的水深环境下饲养相应的鱼类,并且可以通过了解水温的变化,可以了解水中生物的生长情况和生长环境。为水中生物的生长和繁殖提供了至关重要的保证,进一步更好的带动了经济的发展和更有利于环保工作。

6.心得体会:

通过本次数学建模,我知道了什么是数学建模,如何去建立数学模型来解决研究现实问题。同时,我初步了解了MATLAB的使用方法。本次数学建模我又重新回顾了学过的一些物理知识,数学知识,对“温故而知新”这句古训有了更深刻的了解。

数学建模不像是解一道应用题那样简单,需要自己仔细去发现问题解决问题,真的需要一定的能力,一定的耐心,一定的动手能力。也发现了自身的许多不足,没有持之以恒的耐心,不认真,缺乏动手能力。

多亏了现在如此发达的网络,给我们提供了丰富的资料供我们借鉴,经过本次对湖水温度变化的数学建模,我掌握了其基本的工作步骤,要求,我相信在今后的工作中我会更加熟练的运用此项知识,优秀我的工作。

参考文献

1.[1] 基础教学部数学系.数学建模.

2.[2] 姜启源,谢金星,等.数学模型.北京:高等教育出版社,2005

3.[3] Pelzer H. Ingeniervermessung [M]. Stuttgart:Konrad Wittwer,2001 4.[4] 高隆昌,杨元,等.数学建模理论基础.北京:科学出版社, 2007 5.[5] MATLAB 7.0版教程.网站

5.[6] >(第五版)岩石 主编.高等教育出版社

湖水温度变化模型

摘要:

影响湖水温度变化的因素有很多,光照,地形等。其中秋季因湖区多风而发生湖水搅动,使水温分层温度现象基本消失,冬季湖面结冰,湖水温度出现逆温层现象,同时,由于地形走势,地理位置湖水成分及太阳照射都会使不同深度的湖水有不同的温度。论文利用数学建模理念和MATLAB软件对水温的变化与分布进行了分析和评论,围绕着湖水温度变化问题,分析并建立了湖水变化问题的数学模型,同时应用多项式拟合的方法来解决未知问题,得出了湖水温度变化最大的范围是在25.7500m处。

关键词:深度、温度、数学建模、多项式拟合 1.模型的背景问题描述

湖水在夏天会出现分层现象,其特点为接近湖面的水温度较高,越往下温度越低。这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺氧,导致水生鱼类的死亡。下表1-1是对某个湖的观测数据。

求解:1.1湖水在10cm处的温度是多少?

1.2湖水在什么深度温度变化最大?

2.模型假设

针对以上问题,对于湖水温度的模型可以做出如下的假设:

1. 湖水的温度与湖水内部的流动状态无关;

2. 湖水内部物质的分布不影响湖水温度的变化; 3. 湖水的温度不受地形、季节和天气等状况的影响; 4. 湖水底部平坦,无断沟、无起伏; 5. 湖水的深度决定了湖水的温度状况;

3.分析与建立模型

这道湖水温度变化模型问题主要研究的是湖水温度会随着深度的不同而呈现出一定的规律。但模型中只给出了温度与深度相关的有限实验数据,由此想到可能要用到插值和多项式拟合的方法来求解该模型。

假设湖水深度是温度的连续函数,其中一组统计数据为表3-1所示:

3.1引入相关变量符号如下:

x:湖水深度,单位为m;

y:湖水温度,单位为C,它是湖水深度的函数:y=f(x);

这里要应用数学中多项式拟合的方法,并且在MATLAB中实现编程,先求出湖水温度的函数y,然后再针对求出来的拟合函数进行求导,取极值。这样就可以方便地求解湖水模型中未知的问题了。

3.2 MATLAB基本语句:

>> x=[a b c d e] 创建包含指定元素的行向量; >> y=[a b c d e]’ 求该矩阵的转置; >> plot(x,y,’s’) 画实线,s为线型;

>> a=polyfit(x,y,n) 返回多项式系数从最高次系数到最底次系数,n是多项式的阶数;

>> polyfit([a b c d],[e f g h],n) 求其拟合曲线函数方程系数; >> b=regress(Y,X) MATLAB统计工具箱; >> [b,bint,r,rint,statas]=regress(Y,X,alpha)

4.模型求解及检验

将湖水模型中所给的已知数据运用MATLAB数学软件进行编程作图,横轴代表湖水深度x,纵轴代表湖水温度y,并用MATLAB数学软件画出散点图,其中绘图(如图4-1)操作的编程操作命令为:

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2]; >> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1]; >> plot(x,y,'r*')

图4-1

观察散点图像的特点,由散点图像可知,图形中的散点随不同的深度变化,间距大体适中,但是发现其中有明显的拐点,说明散点分布在一条曲线附近。由此得知湖水深度x与湖水温度之间存在着一种线性关系,因此采用二阶拟合是不合适的,于是对模型相关数据进行四阶拟合并通过实验选取不同的基函数类进行。

其中进行四次拟合的编程操作命令为: >> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2];

>> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1];

>> polyfit([0 2.3 4.9 9.1 13.7 18.3 22.9 27.2],[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1],4)

ans =

-0.0001 0.0103 -0.2279 0.9977 22.3743

拟合曲线的函数方程为y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; 显示拟合函数图像(如图4-2)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> plot(x,y)

图4-2

观察图像可以发现,采用四阶拟合得到的曲线图像明显要比二阶拟合得到的散点图像效果要好很多。首先,曲线图像显示出比散点图像更加直观的效果,这样便于进一步地进行分析模型;其次,曲线的图像是连续并且可导的,这样就便于使用导数进行相关极值问题的求解。

于是,可得水深在10cm处时的温度。其中编程操作命令为: >> a=polyfit(x,y,4); >> polyval(a,0.1)

ans =

22.4718

由此就可以求解出来当湖水深度为x=10cm处时的湖水温度为 22.4718℃。

(2)要求在哪个深度时湖水温度变化最大,也就是求拟合函数的拐点,即二阶导数为零的极值点。其中求出一阶导数的编程操作命令为:

>> syms x;

>> y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> diff(y,x) ans =

-1/2500*x^3+309/10000*x^2-2279/5000*x+9977/10000;

显示出导数图像(如图4-3)的编程操作命令为: >> x=[0:0.1:27.2];

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> plot(x,y)

图4-3

求出三阶导数的编程操作命令为: >> syms x;

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> diff(y,x) ans =

-3/2500*x^2+309/5000*x-2279/5000;

显示出三阶导数(如图4-4)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-3/2500*x.^2+309/5000*x-2279/5000; >> plot(x,y)

图4-4

求出二阶导数的编程操作命令为: >> syms x;

>> y=-3/2500*x.^2+309/5000*x-2279/5000; >> diff(y,x)

ans =

-3/1250*x+309/5000;

显示出二阶导数(如图4-5)的编程操作命令为: >> x=[0:0.1:27.2];

>>y=-3/1250*x+309/5000; >> plot(x,y)

图4-5

因为当二阶导数取零时,得到的极值点就是该模型中湖水温度变化最大的地方。因此令二阶导数等于零,有y=-3/1250*x+309/5000=0;于是就可以求解出湖水深度x=25.7500m。

其中求解的编程操作命令为:

>> y=0;subs(solve('y=-3/1250*x+309/5000'))

ans =

25.7500

这样就得出了所求模型的最终结果,当湖水深度在x=25.7500m处时,湖水温度的变化是最大的。

其中求解该模型的全部MATLAB程序为:

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2]; >> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1]; >> plot(x,y,'r*')

>> x=[0 2.3 4.9 9.1 13.7 18.3 22.9 27.2];

>> y=[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1];

>> polyfit([0 2.3 4.9 9.1 13.7 18.3 22.9 27.2],[22.8 22.8 22.8 20.6 13.9 11.7 11.1 11.1],4)

ans =

-0.0001 0.0103 -0.2279 0.9977 22.3743

>> x=[0:0.1:27.2];

>>y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> plot(x,y)

>> a=polyfit(x,y,4); >> polyval(a,0.1)

ans =

22.4718 >> syms x;

>> y=-0.0001*x.^4+0.0103*x.^3-0.2279*x.^2+0.9977*x+22.3743; >> diff(y,x) ans =

-1/2500*x^3+309/10000*x^2-2279/5000*x+9977/10000;

>> x=[0:0.1:27.2];

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> plot(x,y) >> syms x;

>> y=-1/2500*x.^3+309/10000*x.^2-2279/5000*x+9977/10000; >> diff(y,x) ans =

-3/2500*x^2+309/5000*x-2279/5000;>> x=[0:0.1:27.2]; >>y=-3/2500*x.^2+309/5000*x-2279/5000; >> plot(x,y) >> syms x;

>> y=-3/2500*x.^2+309/5000*x-2279/5000; >> diff(y,x) ans =

-3/1250*x+309/5000;

>> x=[0:0.1:27.2];

>>y=-3/1250*x+309/5000;

>> plot(x,y)>> y=0;subs(solve('y=-3/1250*x+309/5000'))

ans = 25.7500

5.应用与推广:

对湖水温度变化模型的建立,可以更加的了解由于湖水温度变化而形成的规律,从而更加有利于水产业的经济收入。根据数学模型可以确定出在不同的水深环境下饲养相应的鱼类,并且可以通过了解水温的变化,可以了解水中生物的生长情况和生长环境。为水中生物的生长和繁殖提供了至关重要的保证,进一步更好的带动了经济的发展和更有利于环保工作。

6.心得体会:

通过本次数学建模,我知道了什么是数学建模,如何去建立数学模型来解决研究现实问题。同时,我初步了解了MATLAB的使用方法。本次数学建模我又重新回顾了学过的一些物理知识,数学知识,对“温故而知新”这句古训有了更深刻的了解。

数学建模不像是解一道应用题那样简单,需要自己仔细去发现问题解决问题,真的需要一定的能力,一定的耐心,一定的动手能力。也发现了自身的许多不足,没有持之以恒的耐心,不认真,缺乏动手能力。

多亏了现在如此发达的网络,给我们提供了丰富的资料供我们借鉴,经过本次对湖水温度变化的数学建模,我掌握了其基本的工作步骤,要求,我相信在今后的工作中我会更加熟练的运用此项知识,优秀我的工作。

参考文献

1.[1] 基础教学部数学系.数学建模.

2.[2] 姜启源,谢金星,等.数学模型.北京:高等教育出版社,2005

3.[3] Pelzer H. Ingeniervermessung [M]. Stuttgart:Konrad Wittwer,2001 4.[4] 高隆昌,杨元,等.数学建模理论基础.北京:科学出版社, 2007 5.[5] MATLAB 7.0版教程.网站

5.[6] >(第五版)岩石 主编.高等教育出版社


相关文章

  • 流域生态水文研究
  • 流域生态水文模型研究进展 摘要:流域生态水文模型是全球变化下流域生态水文响应研究的重要工具,通过定量刻画植被与水文过程的相互作用及全球变化对流域生态水文过程演变的影响机制,为流域水资源管理和生态恢复提供科学支撑,是生态水文研究的前沿和热点. ...查看


  • 湖水污染问题的数学建模与求解
  • 中国传媒大学 2010 学年第 一 学期 课程 数学建模与数学实验 题 目 学生姓名 学 号 班 级 学生所属学院 任课教师 教师所属学院 成 绩 Pristine 湖污染问题的建模与求解 摘要 本文讨论了湖水污染浓度变化趋势的预测问题. ...查看


  • 生态因素试卷
  • <生态因素>测试题 江西省泰和县第二中学 (343700) 曾小军 一.选择题(20小题,每小题32分,共60分) 1."不经一番彻骨寒,哪得梅花分外香",引起梅花开花的因素是 ( ) A.温度 B.降水 C ...查看


  • 地表水环境影响预测公式
  • 一.掌握常用河流水质预测模式的运用 1页 2页 3页 4页 5页 6页 7页 8页 9页 二.湖泊.水库 知识点: 1.湖泊(水库)水环境影响预测方法 式中V -湖泊中水的体积.m3, Q-平衡时流入与流出湖泊的流量,m3/a: CE-流入 ...查看


  • 聚合氯化铝混凝性能的影响因素研究
  • 第28卷第10期2008年10月 工业水处理 IndustrialWaterTreatment Vol.28No.10Oct .,2008 聚合氯化铝混凝性能的影响因素研究 李风亭,何 艳,潘宏杰,张冰如,刘 莉 200092) (同济大学 ...查看


  • 湖泊碳循环及碳通量的估算方法
  • 第21卷 增刊第2期2008年12月 环境科技 EnvironmentalScienceandTechnology Vol.21Supp .2Dec .2008 湖泊碳循环及碳通量的估算方法 于 浩, 李 宁 江苏 南京 (长江水利委员会长 ...查看


  • 土壤含水量遥感监测
  • 譬767714 分类号: UDC密级:编号: 咿幽撼毋 硕士学位论文 土壤含水量遥感监测 学位申请人:宋承运 一 导师姓名及职称 专业名称邓孺孺副教授地图学与地理信息系统 二oO五年六月七日 ◇土壤含水量遥感监测 土壤含水量遥感监测 专业: ...查看


  • 研究生论坛论文格式模板
  • 近48年区域气候变化对精河地表径流的影响分析1 柯 琳1 ,叶 茂*1,2 ,凌红波3 涂文霞1 ,陈 幺4 (1新疆师范大学地理科学与旅游科学学院, 自然地理 2011级 乌鲁木齐 830054; 2新 疆干旱区湖泊环境与资源实验室,乌鲁 ...查看


  • 赞比西河流域水库实施环境适应性管理_J_默滕斯
  • 2013年12月水利水电快报EWRHI第34卷第12期 櫥櫥毣 櫥櫥櫥櫥櫥櫥櫥櫥毣 櫥櫥毣 赞比西河为非洲大陆流域面积最大的河流之一,发源于安哥拉和赞比亚,终于莫桑比克三角洲:全长2600多公里,流经8个国家,控制流域面积140万km 2, ...查看


热门内容