一.一元数据处理方法二.多元数据处理方法三.如何写好建模竞赛论文数据处理专题数据处理是指用简明而严格的方法把获得的实验数据所代表的事物内在的规律提炼出来,得出结果的加工过程,包括数据记录、描绘曲线,从带有误差的数据中提取参数,验证和寻找经验规律,外推实验数据等等。本章介绍一些最基本的数据处理方法。1.插值2.拟合及线性回归1.一元数据处理方法在解决实际问题的生产(或工程)实践和科学实验过程中,通常需要通过研究某些变量之间的函数关系来帮助我们认识事物的内在规律和本质属性,而这些变量之间的未知函数关系又常常隐含在从试验、观测得到的一组数据之中。因此,能否根据一组试验观测数据找到变量之间相对准确的函数关系就成为解决实际问题的关键例如在工程实践和科学实验中,常常需要从一组试验观测数据(xi,yi),i=0,1,....,n之中找到自变量x与因变量y之间的函数关系,一般可用一个近似函数y=f(x)来表示。函数y=f(x)的产生办法因观测数据和要求不同而异,通常可采用数据拟合与函数插值两种办法来实现。数据拟合主要是考虑到观测数据受随机观测误差的影响,进而寻求整体误差最小、能较好反映观测数据的近似函数y=f(x),此时并不要求所得到的近似函数y=f(x)满足yi=f(xi),i=0,1,…,n。函数插值则要求近似函数y=f(x)在每一个观测点xi处一定要满足yi=f(xi),i=0,1,…,n,在这种情况下,通常要求观测数据相对比较准确,即不考虑观测误差的影响。在实际问题中,通过观测数据能否正确揭示某些变量之间的关系,进而正确认识事物的内在规律与本质属性,往往取决于两方面因素。其一是观测数据的准确性或准确程度,这是因为在获取观测数据的过程中一般存在随机测量误差,导致所讨论的变量成为随机变量。其二是对观测数据处理方法的选择,即到底是采用插值方法还是用拟合方法,插值方法之中、拟合方法之中又选用哪一种插值或拟合技巧来处理观测数据。插值问题忽略了观测误差的影响,而拟合问题则考虑了观测误差的影响。但由于观测数据客观上总是存在观测误差,而拟合函数大多数情况下是通过经验公式获得的,因此要正确揭示事物的内在规律,往往需要对大量的观测数据进行分析,尤为重要的是进行统计分析。统计分析的方法有许多,如方差分析、回归分析等。数据拟合虽然较有效地克服了随机观测误差的影响,但从数理统计的角度看,根据一个样本计算出来的拟合函数(系数),只是拟合问题的一个点估计,还不能完全说明其整体性质。因此,还应该对拟合函数作区间估计或假设检验,如果置信区间太大或包含零点,则由计算得到的拟合函数系数的估计值就毫无意义。这里所采用的统计分析方法就是所谓的回归分析。另外还可用方差分析的方法对模型的误差作定量分析。对于插值方法,本文简单介绍最常用的插值法的基本结论及其Matlab实现问题。由于数据拟合问题必须作区间估计或假设检验,所以除了介绍最基本的数据拟合方法——最小二乘法的基本结论及其Matlab实现问题外,我们专门介绍了对数值拟合问题进行区间估计或假设检验的统计方法。即介绍回归分析方法及其Matlab实现。数据处理问题通常情况下只是某个复杂实际问题的一个方面或部分内容,因而这里所介绍的数据处理方法——函数插值和数据拟合的方法(包括回归分析)通常只能解决实际问题中的部分问题——计算问题。一般来说,对实际问题进行数学建模需要用到多方面知识,只有很少的情况下可以单独使用本章所介绍的内容,故我们最后以修改后的美国91年数学建模A题为例说明如何使用数值计算知识建立数学模型,从而解决实际问题的方法。1、插值法在生产和实验中,常常需要根据一张表格表示的函数推算该表中没有的函数值.解决此类问题的简单途径之一利用插值法。插值在数学发展史上是一个老问题,它是和Gauss,Lagrange,Newton等在著名数学家连在一起的。它最初来源于天体计算——由若干观测值计算人一时刻星球的位置。现在,插值法在工程技术和数据处理有许多直接应用,而且也是数值积分、数值微分的基础。1.1插值概念与基础理论1.1.1插值问题的提法对于给定的函数表xx0x1…….xnY=f(x)y0y1……..yn(其中在[a,b]上连续,x0,x1,…,xn是[a,b]上的n+1个互异的点),在某函数类{(x)}中求一个函数(x),使()yfx(xi)=yi,(i=0,1,2,…,n)(2)(1)并用函数(x)作为函数y=f(x)的近似函数,即y=f(x)(x),(x∈[a,b])这类问题称为插值问题。[a,b]称为插值区间,x0,x1,...,xn称为插值节点,(2)称为插值条件,插值条件是选择近似函数的标准,满足此条件的近似函数(x)称为插值函数,f(x)称为被插值函数。函数类{(x)}有多种取法,常用的有代数多项式、三角函数和有理函数。最简单的插值函数是代数多项式,相应的插值问题称为多项式插值。最简单的插值函数是代数多项式,相应的插值问题称为多项式插值。求)(xf的n次插值多项式()nypx的几何意义,就是)(xfy上的若干个节点,作一条代数曲线()nypx来近似代替曲线)(xfy。如图所示。通过曲线§1.2插值多项式的求法在前面讨论插值多项式的存在唯一性时,实际上已提供了它的一种求法,即通过求解线性方程组来确定其系数ai(i=0,1,2,…,n)但是这种方法不仅计算量大,而且因不能获得简明的表达式而给理论和应用研究带来不便。在这里我们学习两种简便而实用的求答。1.2.1拉格朗日插值多项式在线性代数中知道,所有次数不超过n次的多项式构成一个n+1维线性空间。其基有各种不同的取法。因此尽管满足条件(4)的n次插值多项式是唯一的,然而它的表达式可以有多种不同的形式。如果取满足条件:0,()1,kiikiklx的一组n次多项式xlxlxlxln,,,,210作为上述线性空间的基,则容易看出10010()()()()nnnkkklxylxylxyylxn是一个次数不超过的多项式。且满足插值条件(4)。因此,由n+1个代数多项式xlxlxlxln,,,,210线性生成的多项式(10)就是满足插值条件的n次插值多项式。(10)(9)满足条件(9)的多项式称为n+1个节点的n次基本插值多项式(或n次基函数)xlxlxlxln,,,,210显然,求拉格朗日多项式的关键是求n次插值基函数。0,()1,kiikiklx因此,可设0111()()...()()...()kkkknlxAxxxxxxxxxx因为xlk为n次多项式,且n011011()()()()()()()()()nkkkkkkknkkxxxxxxxxlxxxxxxxxx两种特殊的Lagrange插值多项式1.线性插值(两点插值)最简单的插值是线性插值(此时n=1),这时插值问题就是求一次多项式P1(x)=a0+a1x使它满足条件P1(x0)=y0,P1(x1)=y1,这时1001()xxlxxx0110()xxlxxx于是线性插值多项式为011010110()xxxxLxyyxxxx即100010()()nyyLxyxxxx它就是通过M0(x0,y0)和M1(x1,y1)两点的线段.2.抛物插值线性插值仅仅用两个节点以上的信息,精确度较差。为了提高精确度,我们进一步考察以下三点的插值问题(n=2):这时1200102()()()()()xxxxlxxxxx0211012()()()()()xxxxlxxxxx0122021()()()()()xxxxlxxxxx由此得到抛物插值多项式2001122()()()()Lxylxylxylx抛物插值又称三点插值.xyln例1已知的函数表x1011121314y2.30262.39792.48492.56492.6391ln(11.5)并估计误差。分别用拉格朗日线性和抛物线插值求的近似值,%lagrange插值法的程序functiony=lagrange(x0,y0,x);n=length(x0);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;forj=1:nifj~=kp=p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;endclearx0=[1011121314];y0=[2.30262.3979,2.4849,2.56492.6391];x=10:0.1:15;y=lagrange(x0,y0,x);plot(x0,y0,’+’,x,y)1901年龙格(Runge)给出一个例子:定义在区间[-1,1]上,这是一个光滑函数,它的任意阶导数都存在,对它在[-1,1]上作等距节点插值时,插值多项式情况,见图:从图中,可见,在靠近-1或1时,余项会随n值增大而增大,如P12(0.96)=3×6!但f(0.96)=0.2521()1fxx-5-4-3-2-1012345-1.5-1-0.500.511.52n=2n=4n=6n=8n=10f(x)=1/(1+x2)从图中,还可发现,在0附近插值效果是好的,即余项较小,另一种现象是插值多项式随节点增多而振动更多。这种插值多项式当节点增加时反而不能更好地接近被插之数的现象,称为龙格现象。上述现象和定理,告诉我们用高次插值多项式是不妥当的,从数值计算上可解释为高次插值多项式的计算会带来舍入误差的增大,从而引起计算失真。那么如何提高插值精度呢?采用分段插值是一种办法。实践上作插值时一般只用一次、二次最多用三次插值多项式。分段线性插值的构造:设f(x)是定义在[a,b]上的函数,在[a,b]上节点a=x0x1x2…xn-1xn=b,的函数值为y0,y1,y2,…yn-1,yn。(x)在每个子区间[xi,xi+1](i=0,1,2,,n-1)上是一次插值多项式;11111iiiiiiiiiixxxxxxxyxxxxyx,)(这种分段低次插值称为分段线性插值.在几何上就是用折线段带代替曲线,故分段线性插值又称为折线插值.(,),0,1,,kkxyin实际上是连接点的一条折线1.2.2分段线性插值分段线性插值:matalb调用格式:yi=interp1(x,y,xi,’linear’)x,y为插值节点,xi为待求节点分段线性插值曲线图:-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.81曲线的光滑性较差在节点处有尖点但如果增加节点的数量减小步长,会改善插值效果xyln例1已知的函数表x1011121314y2.30262.39792.48492.56492.6391ln(11.5)并估计误差。分别用拉格朗日线性和抛物线插值求的近似值,clearx0=[1011121314];y0=[2.30262.3979,2.48492.56492.6391];x=10:0.1:15;y1=interp1(x0,y0,x,’linear’);yy1=interp1(x0,y0,11.5,’linear’);y2=interp1(x0,y0,x,‘cubic');yy2=interp1(x0,y0,11.5,‘cubic');subplot(1,2,1)plot(x0,y0,'+',x,y1,11.5,yy1,’rO’)title('Piecewiselinear')subplot(1,2,2)plot(x0,y0,'+',x,y2,11.5,yy2,’rO’)title('Piecewisecubic')分段二次插值即:选取跟节点x最近的三个节点xi-1,xi,xi+1进行二次插值,即在区间[xi-1,xi+1],取:这种分段的低次插值叫分段二次插值,在几何上就是用分段抛物线代替y=