杨涛的建模.doc_第1页
杨涛的建模.doc_第2页
杨涛的建模.doc_第3页
杨涛的建模.doc_第4页
杨涛的建模.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础实验三 数据拟合与曲线拟合1、 实验目的 对于某个变化过程中的相互依赖的变量,可建立适当的数学模型,用于分析、预报、决策或控制该过程。对于两个变量可通过用一个一元函数去模拟这两个变量的取值,但用不同的方法可得到不同的模拟函数。 使用最小二乘法来进行数据拟合,用基本函数曲线及其变化模拟给定的曲线,理解拟合方法。 2、 实验解读 1、 数据拟合,是使用最小二乘法产生基函数的线性组合,以构造出拟合函数。根据一组二维数据,即:平面上的若干点,要求:确定一个一元函数 y=f(x) ,即: 曲线使这些点与曲线,总体来说,尽量接近。 这就是数据拟合成曲线的思想,简称为曲线拟合(fitting a curve)。曲线拟合的目的是:根据实验获得的数据,去建立因变量与自变量之间有效的经验函数关系,为进一步的深入研究,提供线索。 而其实际含义,是寻求一个函数 y=f(x) ,使 f(x) 在某种准则下,与所有数据点最为接近,即: 曲线拟合得最好。 最小二乘准则,就是使所有散点到曲线的距离平方和最小。 拟合时选用一定的拟合函数f(x) 形式,设拟合函数可由一些简单的“基函数” (例如:幂函数,三角函数)来线性表示。2、 两个变量之间的函数关系,主要有两种: * 是线性关系(一次关系); * 是非线性关系(非一次的其它一元函数)。下面根据本实验,具体分析: 一、对于实验一(练习1)线性拟合,主要从形(大多数散点,是否在拟合曲线上,或附近)与 量(残差,是否小)来观察拟合效果。 二、对于实验二(练习2、3)非线性拟合,使用各种函数(多项式函数、对数函数、双曲线函数、指数函数、三角函数、分式有理多项式函数等初等函数)将其拟合,直到拟合曲线与散点图基本吻合(残差接近0时),再用 Mathematica 画出所得到的拟合曲线,观察所得曲线与散点的接近程度,从而得出:最接近的拟合曲线方程。3、 实验思路2.3 线性拟合 (练习1) 对练习1采用线性拟合,先对表中的十组数据,进行线性组合,并从形与量看拟合效果; 去掉一组数据,对剩余的九组数据进行线性拟合; 逐步增加去掉的数据,对剩余的数据进行拟合,并从形与量看拟合效果。 增加一组数据,对十一组数据进行线性拟合,并从形与量看拟合效果; 比较每一组的拟合情况,以及残差的大小。 (一)修改、补充程序 要说明拟合效果,主要从形(大多数散点是否在拟合曲线上或附近)与量(残差是否小)!计算残差的程序: 假设对两个变量的多组记录数据已有程序 biao=x1,y1,x2,y2,xn,yn 并且通过Fit得到线性拟合函数y=ax+b 我们可以先定义函数(程序) fx_:=a*x+b 再给出计算残差的程序 dareta=Sum(biaoi ,2-fbiaoi ,1)2,i ,1, n程序说明: biaoi是提取表biao的第i行,即xi,yi biaoi ,1 是提取表biao的第i行的第一个数, 即xi biaoi ,2 是提取表biao的第i行的第一个数, 即yi biaoi ,2-fbiaoi ,1 即yi-(a*xi+b) (二)实验思路 1、先对练习1的十组数据线性拟合,并从形与量看拟合效果; 2、对练习1的十组数据中的九组数据线性拟合,并从形与量看拟合效果; 3、对练习1的十组数据中的八组数据线性拟合,并从形与量看拟合效果; 4、对练习1的十组数据中的七组数据线性拟合,并从形与量看拟合效果; 5、对练习1的十组数据中的六组数据线性拟合,并从形与量看拟合效果。 6、对练习1的十组数据增加数据线性拟合,并从形与量看拟合效果。 7、对练习1的数据增加与减少对拟合效果的影响!2.4 非线性拟合 (练习2) 对于练习2非线性拟合,通过改变 i 的范围,假设函数的一般方程,即: 可求得: 拟合曲线。 对练习2中的数据用二次、三次、 、十五次多项式函数,分别进行非线性拟合,并从形与量看拟合效果。 减少或增加数据,查看拟合效果。 对练习2的数据用指数函数、对数函数、双曲函数、三角函数、分式有理多项式函数等初等函数,分别非线性拟合,并从形与量看拟合效果; 思考用初等函数非线性拟合的优点与缺点,同时,思考有没有其它更好的非线性拟合。 (一)修改、补充程序 要说明拟合效果,主要从形(大多数散点是否在拟合曲线上或附近)与量(残差 是否小)!计算残差的程序: 假设对两个变量的多组记录数据已有程序 biao=x1,y1,x2,y2,xn,yn 并且通过Fit得到非线性拟合函数y=f(x) 我们可以先定义函数(程序) fx_:= 再给出计算残差的程序 dareta=Sum(biaoi ,2-fbiaoi ,1)2,i ,1, n程序说明: biaoi是提取表biao的第i行,即xi,yi biaoi ,1 是提取表biao的第i行的第一个数, 即xi biaoi ,2 是提取表biao的第i行的第一个数, 即yi biaoi ,2-fbiaoi ,1 即yi-f(xi) (二)实验思路 先对练习2的数据用二次、三次、十五次、k次多项式函数分别非线性拟合,并从形与量看拟合效果;思考用多项式函数非线性拟合的优点与缺点。考虑对练习2的数据增加或减少; 先对练习2的数据用指数函数、双曲函数等初等函数分别非线性拟合,并从形与量看拟合效果;思考用初等函数非线性拟合的优点与缺点,同时思考有没有其它更好的非线性拟合。考虑对练习2的数据增加或减少 先对练习2的数据用分段函数(非初等函数)非线性拟合,并从形与量看拟合效果;思考用分段函数非线性拟合的优点与缺点,同时思考有没有其它更好的非线性拟合; 对练习2的数据增加或减少。4、 实验材料2.1 曲线拟合 (1)初等函数包括基本初等函数与它们经过加减乘除复合等运算后所得到的函数的图形及其变换。拟合函数为多项式情形理论上已经解决,称为拉格朗日插值多项式。 (2)光滑曲线的有关内容,包括分段函数的连续性、一阶可导性与高阶可导性。 (3)方程或方程组的求解,包括超越方程或方程组的近似解法,线性方程组的精确解。2.2最小二乘法 给定平面上一组点(,)()作曲线拟合有多种方法,其中最小二乘法是常用的一种。最小二乘法的原理是:求,使达到最小。拟合时,选取一定的拟合函数形式,设拟合函数的基底函数为 拟合函数为 确定使方差达到极小,此时得到的即为所求。为使取到极值,将的表达式代入,对求的偏导数,令其等于零,得到方程组成的方程组,从中求解。当=1时,取拟合函数,此做法称为线性拟合,统计学上叫做线性回归。此时,临界方程组为 从中解出与,有,其中 , , 。 Mathematica提供了最基本的数据拟合函数Fit,这个函数使用最小二乘法产生基函数的线性组合以构造出拟合函数。函数的参数表中包括三项:第一个参数是被拟合的数据;第二个参数是一个表,用于说明拟合用的基函数;第三个参数是拟合变量。2.3 线性拟合练习1 为研究某一化学反应过程中温度对产品得率(%)的影响,测得数据如下:10011012013014015016017018019045515461667074788589 试求其线性拟合曲线。Mathematica程序: b1=100,45,110,51,120,54,130,61,140,66,150,70,160,74,170,78, 180,85,190,89 (将数据以表的形式输入) ft1=Fitb1,1,x,x (用Fit拟合,这里是线性拟合) gp=Plotft1,x,100,190,PlotStyle-RGBColor1,0,0 (作拟合曲线的图形) fp=ListPlotb1,PlotStyle-PointSize0.05,RGBColor0,0,1 (作散点图) Showfp,gp (显示点组与拟合曲线,作图。下面为计算残差的程序) a= ;b= ; (a,b的值由上面的结果确定) fx_=a*x+b; (拟合函数) darata=Sum(b1i,2-fb1i,1)2,i,1,10(计算残差)2.4 非线性拟合 练习2 在某一化学反应里,由实验得到生物的浓度与时间(分)的关系如下123456789101112131415164.06.48.08.49.289.59.79.910.010.210.3210.4210.510.5510.5810.6 求浓度与时间关系的拟合曲线。 提示:先用ListPlot语句描点,观察点的分布情况,以确定拟合函数。 (1)用多项式函数拟合的Mathematica程序: Cleargp,fp; b2=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,16,10.6 gp=ListPlotb2,PlotStyle-RGBColor0,1,0,PointSize0.04 ft2=Fitb2,Tablexi,i,0,4,x (用四次曲线拟合) fp=Plotft2,x,0,17,PlotStyle-RGBColor1,0,0 Showgp,fp fx_=expr; (用拟合的多项式函数来定义f(x)) darata=Sum(b2i,2-fb2i,1)2,i,1,16(计算残差)(2)用函数作拟合,求拟合曲线。作变换,拟合函数变形为。Mathematica程序为: fxx_:=1/x fyy_:=Logy nb=Tablefxb2i,1,fyb2i,2,i,1,16 ft3=Fitnb,1,x,x (拟合) f4=a*Expb/x (a,b的值由上面的结果确定) t1=Plotf4,x,1,18,PlotStyle-RGBColor1,0,0 t2=ListPlotb2,PlotStyle-RGBColor0,1,0,PointSize0.05 Show%,%(3)用作拟合。Mathematica程序为: gy_:=1/y sb=Tableb2i,1,gb2i,2,i,1,16 ft5=Fitsb,1,1/x,x f5=1/ft5 t3=Plotf5,x,1,16,PlotStyle-RGBColor0,0,1 Showt1,t2,t3 (在一张图上比较一下用两种方法得到的函数曲线)(4)用分段函数作拟合。5、 实验过程与结果2.3 线性拟合 * 对十组数据 100,45,110,51,120,54,130,61,140,66,150,70,160,74,170,78,180,85,190,89 Mathematica程序为: lianxi1biao=100,45,110,51,120,54,130,61,140,66,150,70,160,74,170,78, 180,85,190,89 ft1=Fitlianxi1biao,1,x,x gp=Plotft1,x,100,190,PlotStyle-RGBColor1,0,0 fp=ListPlotlianxi1biao,PlotStyle-PointSize0.03,RGBColor0,0,1 Showfp,gp a=0.48303030303030314;b=-2.73939393939394; fx_=a*x+b; dareta=Sum(lianxi1biaoi,2-flianxi1biaoi,1)2,i,1,10 线性方程: y = -2.73939+0.48303 x 残差: 7.22424 图像: * 对九组数据 100,45,110,51,120,54,140,66,150,70,160,74,170,78,180,85,190,89 Mathematica程序为: lianxi1biao=100,45,110,51,120,54,140,66,150,70,160,74,170,78, 180,85,190,89ft1=Fitlianxi1biao,1,x,x gp=Plotft1,x,100,190,PlotStyle-RGBColor1,0,0 fp=ListPlotlianxi1biao,PlotStyle-PointSize0.03,RGBColor0,0,1 Showfp,gp a=0.4850000000000001 ;b=-3.1333333333333084;fx_=a*x+b;dareta=Sum(lianxi1biaoi,2-flianxi1biaoi,1)2,i,1,9 线性方程: y = -3.13333+0.485 x 残差: 6.2 图像: * 对八组数据 100,45,120,54,140,66,150,70,160,74,170,78,180,85,190,89 线性方程: y = -3.98459+0.489981 x 残差: 5.34875 图像: * 对七组数据 100,45,120,54,150,70,160,74,170,78,180,85,190,89 线性方程: y = -4.61261+0.492793 x 残差: 3.0991 图像: * 对六组数据 100,45,120,54,150,70,160,74,180,85,190,89 线性方程: y = -5.+0.496667 x 残差: 1.43333 图像: * 对五组数据 100,45,120,54,150,70,160,74,190,89 线性方程: y = -4.4878+0.492276 x 残差: 0.906504 图像: * 对十一组数据 100,45,110,51,120,54,130,61,140,66,145,67,150,70,160,74,170,78,180,85,190,89 线性方程: y = -2.76667+0.48303 x 残差: 7.30606 图像: 结果分析: 残差越小,拟合越优; 拟合最优的线性方程为: y = -4.4878+0.492276 x 残差为: 0.9065042.4 非线性拟合 2.4.1.对 k = 2 , n = 16 的拟合: Mathematica程序为: Cleargp,fp; k= 2; lianxi2biao=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,16,10.6 gp=ListPlotlianxi2biao,PlotStyle-RGBColor0,0,1,PointSize0.04 ft2=Fitlianxi2biao,Tablexi,i,0,k,x fp=Plotft2,x,0,17,PlotStyle-RGBColor1,0,0 Showgp,fp 非线性方程: y = 残差: 4.44163 图像: 对 k = 3 , n = 16 的拟合: 非线性方程: y = 残差: 1.22919 图像: 对 k = 4 , n = 16 的拟合: 非线性方程: y = 残差: 0.271732 图像: 对 k = 5 , n = 16 的拟合: 非线性方程: y = 残差: 0.126466 图像: 对 k = 6 , n = 16 的拟合: 非线性方程: y = 残差: 0.116915 图像: 对 k = 7 , n = 16 的拟合: 非线性方程: y = 残差: 0.112097 图像: 对 k = 8 , n = 16 的拟合: 非线性方程: y = 残差: 0.109461 图像: 对 k = 9 , n = 16 的拟合: 非线性方程: y = 残差: 0.107218 图像: 对 k = 10 , n = 16 的拟合: 非线性方程: y = 残差: 0.0823993 图像: 对 k = 11 , n = 16 的拟合: 非线性方程: y = 残差: 0.0474068 图像: 对 k = 12 , n = 16 的拟合: 非线性方程: y = 残差: 0.0223111 图像: 对 k = 13 , n = 16 的拟合: 非线性方程: y = 残差: 0.00551721 图像: 对 k = 14 , n = 16 的拟合: 非线性方程: y = 残差: 0.0000152337 图像: 对 k = 15 , n = 16 的拟合: 非线性方程: y = 残差: 图像: 结果分析: k 越大,残差越小,拟合越优; 拟合最优的线性方程为: y = 残差为: 2.4.2.当 k = 4 时,对前十五组数据进行增减实验: 2.4.3.对指数函数拟合: Mathematica程序为: fxx_:=1/xfyy_:=Logylianxi2biao=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,16,10.6;nb=Tablefxlianxi2biaoi,1,fylianxi2biaoi,2,i,1,15;ft3=Fitnb,1,x,xf4=Exp2.46274-1.155 /xt1=Plotf4,x,1,18,PlotStyle-RGBColor1,0,0t2=ListPlotlianxi2biao,PlotStyle-RGBColor0,0,1,PointSize0.03Show%,% 非线性方程: y = 残差: 1.06562 2.4.4.对反三角函数拟合: Mathematica程序为: fxx_:=ArcTanx+0.865fyy_:=ylianxi2biao=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,16,10.6;nb=Tablefxlianxi2biaoi,1,fylianxi2biaoi,2,i,1,15;ft3=Fitnb,1,x,xf4=15.3139ArcTanx+0.865-12.4315t1=Plotf4,x,1,18,PlotStyle-RGBColor1,0,0t2=ListPlotlianxi2biao,PlotStyle-RGBColor0,0,1,PointSize0.03Show%,%n= 16 ;fx_=-12.4315+15.3139 ArcTan0.865 +x;dareta=Sum(lianxi2biaoi,2-flianxi2biaoi,1)2,i,1,n 非线性方程: y = -12.4315+15.3139 ArcTan0.865 +x 残差: 0.190843 2.4.5.对拟合: Mathematica程序为: Clearb;gy_:=1/yb=Tablelianxi2biaoi,1,glianxi2biaoi,2,i,1,16t5=Fitb,1,1/x,xf5=1/t5t3=Plotf5,x,1,16,PlotStyle-RGBColor0,0,1Showt1,t2,t3 非线性方程: y = 图像: 2.4.6.对分段函数拟合: (前四个点分为第一段;第五点到第十六点为第二段。 分段,可以保证数据的连续性,然后再对这两段进行分段拟合。 前一段选用的是:指数拟合; 后一段选用的是:五次多项式函数拟合。) Mathematica程序为: (前一段函数)ft2=Fitlianxi2biao,Tablexi,i,0,5,xfp=Plotft2,x,4,17,PlotStyle-RGBColor0,0,1Showgp,fp,t1fxx_:=1/xfyy_:=Logylianxi2biao=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,16,10.6;nb=Tablefxlianxi2biaoi,1,fylianxi2biaoi,2,i,1,4;ft3=Fitnb,1,x,xf4=Exp2.386712-1.00637/xt1=Plotf4,x,0,4,PlotStyle-RGBColor1,0,0t2=ListPlotlianxi2biao,PlotStyle-RGBColor0,0,1,PointSize0.06Show%,% 前四个点按指数函数拟合输出: 转化为线性函数拟合结果: y = 2.38672 -1.00637 x 非线性拟合方程: y = 残差: 0.0845786 图像: Mathematica程序为: (后一段函数)Cleargp,fp;lianxi2biao=1,4,2,6.4,3,8.0,4,8.4,5,9.28,6,9.5,7,9.7,8,9.86,9,10.0,10,10.2,11,10.32,12,10.42,13,10.5,14,10.55,15,10.58,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论