永发信息网

用MATLAB做多项式拟合,各个次数模型的优劣如何取舍?

答案:1  悬赏:40  手机版
解决时间 2021-05-15 06:27
  • 提问者网友:戎马万世
  • 2021-05-14 13:27
RT,万分感谢各位大牛。。。
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-05-14 13:59
原来的找不到了,给你用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=,,,,,,,}In[2]:= q=ListPlot[d,PlotStyle->PointSize[0.04]]得出如下散点图  Out[2]=-Graphics- 观察散点图的特点,并通过实验选取不同的基函数类进行实验发现用4次多项式拟合比较好,相应的命令为:In[3]:= q1=Fit[d,,h]Out[3]=22.711+0.0280756 h+0.0865552 h 2 -0.0235702 h 3 +0.00132018 h 3 -0.0000218133 h 5In[4]:= q2=Plot[q1,] Out[4]= -Graphics-In[5]:= Show[q,q2]Out[5]= -Graphics-因此有T(h) » q1=22.711+0.0280756 h+0.0865552 h 2 -0.0235702 h 3 +0.00132018 h 3 -0.0000218133 h 5为求出湖水在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.0707107h 2 + 0.00528073 h 3 - 0.000109067 h 4In[8]:= Plot[q2,] 输出图形为 Out[8]= -Graphics-从导函数图形上观察到其在10附近可以取得绝对值最大值,键入命令:In[9]:= FindMinimum[q2,]  Out[9]= }得出 h=11.9312 是导函数的绝对值最大值点,于是可以知道湖水在深度为11.9312m 时温度变化最大。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯