资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
湖水温度变化模型数学建模湖水温度变化模型序言 : 夏季湖水温度有显然的正温层现象,水的基层温度较低, 秋天因湖区多风而发生湖水搅动,使水温分层温度现象基本消逝, 冬天湖面结冰, 湖水温度出现逆温层现象。特别近几年来全世界变暖愈来愈严重,这对夏季时湖水的温度的变化也照成了必定的影响,使得湖水照成水文变化异样的现象,影响了河中生物的生计与繁衍。使得水层上下循环不畅, 造成基层水域缺氧,致使水生鱼类的死亡。论文利用数学建模理念和 MATLAB软件对水温的变化与散布进行了剖析和议论应用软件: MATLAB、 Word题型重点词: 深度、温度、季节、数学建模、估量、求导、范围整合、多项式拟合问题重述:湖水在夏季会出现分层现象, 其特色为靠近湖面的水温度较高, 越往下温度变低。 这类上热下冷的现象影响了水的对流和混淆过程,使得基层水域缺氧,致使水生鱼类的死亡。下边是某个湖的观察数据表 1-1湖水观察数据深度 /m0温度 / 求解: 1.1 湖水在 10cm处的温度是多少?1.2 湖水在什么深度温度变化最大?2、基本假定针对以上问题,关于湖水温度的模型能够做出以下的假定:1. 水层之间互不影响。;2. 湖水内部流动不影响湖水温度的变化;3. 湖水的温度变化不受季节和天气影响;1刘波:湖水温度变化模型符号说明:h: 湖水深度 ,单位为 m;T: 湖水温度 ,单位为C;T=T(h) :湖水深度的函数;a. MATLAB 基本语句及解说: 常用清空命令: ( 1) clear :消除内存中所有变量; ( 2) clc :清屏b. 常用数学函数:( 1)三角函数:正弦sin(x) ,余弦 cos(x),双曲正弦 sinh(x) ,反正弦asin(x) ,反双曲正弦asinh(x) ,正切 tan(x) ,余弦 cot(x) ,正割 sec(x),余割 csc(x) 等;( 2)指数函数: exp(x), log(x), log10(x),log2(x),平方根 sqrt(x) 等;( 3)整值函数: 朝 0 方向取整fix(x) ,朝负无量方向取整 floor(x) ,朝正无量方向取整ceil(x) ,四舍五入到近来的整数round(x) ,符号函数sign(x) 等( 4)数组操作函数: siza(A), size(A,1), size(A,2), length(A),flipud(A),fliplr(A)等( 5) nearest :近来邻点插值,直接达成计算;spline :三次样条函数插值;linear:线性插值(缺省方式),直接达成计算;cubic :三次函数插值;( 6) 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)3. 问题的剖析与成立模型思路2数学建模碰到这类数据表格问题,假如我们仅凭眼睛察看,很难看到此中的规律,也就更难写出有效的数学表达式进而成立数学模型 这道湖水温度变化模型问题主要研究的是湖水温度会跟着深度的不一样而体现出必定的规律。但模型中只给出了温度与深度有关的有限实验数据,由此想到可能要用到插值和多项式拟合的方法来求解该模型。将所给数据作图,横轴代表湖水深度,纵轴代表湖水温度,用MATLAB数学软件画出散点图,操作的命令:假定湖水深度是温度的连续函数,此中一组统计数据为表3-1 所示:表 3-1湖水观察数据深度 /m0温度 / 有关变量及单位:x:湖水深度,单位为m;y:湖水温度,单位为C,它是湖水深度的函数: y=f(x) ;这里要应用数学中多项式拟合的方法在MATLAB中实现编程,先求出湖水温度的函数 y,而后再针对求出来的拟合函数进行求导,取极值。这样就能够方便地求解湖水模型中未知的问题了。4. 模型求解过程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*)3刘波:湖水温度变化模型2422201816141210051015202530图 4-1获得如上散点图察看散点图像的特色,由散点图像可知, 图形中的散点随不一样的深度。察看散点图的特色,并经过实验选用不一样的基函数类进行实验发现用 4 次多项式拟合比较好,相应的命令为此中进行四次拟合的编程操作命令为: 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 =拟合曲线的函数方程为 y=-0.0001*x.4+0.0103*x.3-0.2279*x.2+0.9977*x+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)3432302826242220181614051015202530图 4-2为求出湖水在10m 处的温度,键入命令作为:4数学建模 a=polyfit(x,y,4); polyval(a,0.1)ans =于是就能够求解出来当湖水深度为x=10cm 处时的湖水温度为。(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*x3+309/10000*x2-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)3210-1051015202530求出三阶导数的命令为: syms x; y=-1/2500*x.3+309/10000*x.2-2279/5000*x+9977/10000; diff(y,x)ans =-3/2500*x2+309/5000*x-2279/5000 ;5刘波:湖水温度变化模型显示出三阶导数的命令为: x=0:0.1:27.2;y=-3/2500*x.2+309/5000*x-2279/5000; plot(x,y)0051015202530图 4-4求出二阶导数的命令为: 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)0051015202530图 4-5由于当二阶导数取零时,获得的极值点就是该模型中湖水温度变化最大的地方。所以令二阶导数等于零,有y=-3/1250*x+309/5000=0;于是就能够求解出湖水深度。6数学建模此中求解的命令为: y=0;subs(solve(y=-3/1250*x+309/5000)ans =这样就得出了所求模型的最后结果,当湖水深度在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 = 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 = 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*x3+309/10000*x2-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;7刘波:湖水温度变化模型 y=-1/2500*x.3+309/10000*x.2-2279/5000*x+9977/10000; diff(y,x)ans =-3/2500*x2+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
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号