原来的找不到了,给你用matlab多项式拟合的吧1)问题的提出湖水在夏天会出现分层现象,其特点为接近湖面的水温度较高,越往下温度变低.这种上热下冷的现象影响了水的对流和混合过程,使得下层水域缺氧,导致水生鱼类的死亡.下面是某个湖的观测数据深度(m)02.34.99.113.718.322.927.2温度(°C)22.822.822.820.613.911.711.111.1请问1.湖水在10m处的温度是多少?2.湖水在什么深度温度变化最大?2)问题的分析与假设本问题只给出了有限的实验数据点,可以想到用插值和拟合的方法来解决题目的要求.假设湖水深度是温度的连续函数,引入符号如下:h:湖水深度,单位为mT:湖水温度,单位为°C,它是湖水深度的函数:T=T(h)这里多项式拟合的方法来求出湖水温度函数T(h).然后利用求出的拟合函数就可以解决本问题了.3)模型的建立将所给数据作图,横轴代表湖水深度,纵轴代表湖水温度,用Mathematica数学软件画出散点图,操作的命令为:In[1]:=d={{0,22.8},{2.3,22.8},{4.9,22.8},{9.1,20.6},{13.7,13.9},{18.3,11.7},{22.9,11.1},{27.2,11.1}}In[2]:=q=ListPlot[d,PlotStyle->PointSize[0.04]]得出如下散点图
Out[2]=-Graphics-观察散点图的特点,并通过实验选取不同的基函数类进行实验发现用4次多项式拟合比较好,相应的命令为:In[3]:=q1=Fit[d,{1,h,h^2,h^3,h^4,h^5},h]Out[3]=22.711+0.0280756h+0.0865552h2-0.0235702h3+0.00132018h3-0.0000218133h5In[4]:=q2=Plot[q1,{h,0,27.2}]
Out[4]=-Graphics-In[5]:=Show[q,q2]
Out[5]=-Graphics-因此有T(h)?q1=22.711+0.0280756h+0.0865552h2-0.0235702h3+0.00132018h3-0.0000218133h5为求出湖水在10m处的温度,键入命令:In[6]:=q1/.h->10Out[6]=19.0975于是得出湖水在10m处的温度约为19.0975°C.为求湖水在什么深度温度变化最大,要求出函数T(h)的导函数T?(h)的绝对值最大值点.为此对所求拟合函数q1关于h的导数并找出最大值点,键入如下命令:In[7]:=q2=D[q1,h]Out[7]=0.0280756+0.17311h-0.0707107h2+0.00528073h3-0.000109067h4In[8]:=Plot[q2,{x,0,27.2}]输出图形为Out[8]=
-Graphics-从导函数图形上观察到其在10附近可以取得绝对值最大值,键入命令:In[9]:=FindMinimum[q2,{x,10}]Out[9]={-1.21357,{h->11.9312}}得出h=11.9312是导函数的绝对值最大值点,于是可以知道湖水在深度为11.9312m时温度变化最大.