数模培训_数据拟合方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据拟合与线性最小二乘法教学内容数据拟合问题的提法数据拟合问题的求解思路线性最小二乘法原理算例MATLAB工具箱Curvefit演示2040608010070080090010001100设R=at+ba,b为待定系数求电阻R随温度t的变化规律。已知热敏电阻数据:温度t(0C)20.532.751.073.095.7电阻R()7658268739421032引例1:热敏电阻电阻值的变化规律t(h)0.250.511.523468c(g/ml)19.2118.1515.3614.1012.899.327.455.243.01对某人用快速静脉注射方式一次性注射某种药物300mg后,经过时间t采集血样,测得血药浓度c如下表:求血药浓度随时间的变化规律c(t).02468100101102半对数坐标系(semilogy)下的图形为待定系数kcectckt,)(0Log10c(t)=at+b引例2:血药浓度的变化规律数据拟合问题的提法数据拟合问题:已知一维(二维,…)数据,即平面上的n个点(xi,yi),i=1,2,…,n,xi互不相同,寻求一个函数(曲线)y=f(x),使f(x)在某种准则下与所有数据点最为接近,即曲线拟合的最好,如下图所示(图中δi为(xi,yi)与y=f(x)的距离)。Oxyδi(xi,yi)数据拟合问题的求解思路线性最小二乘法是解决数据拟合最常用的方法。基本思路:令f(x)=a1r1(x)+a2r2(x)+…+amrm(x)(1)其中rk(x)是事先选定的一组函数,ak是待定系数(k=1,2,…,m,mn)。拟合准则是使n个点(xi,yi),i=1,2,…,n,与y=f(xi)的距离δi的平方和最小,称为最小二乘准则。拟合准则还有如最小一乘准则、极大极小准则等。线性最小二乘法原理1.理论———基本理论之ak的确定根据最小二乘准则,记J(a1,a2,…,am)=n1i2i)2(]y)x(f[n1i2ii为求a1,a2,…,am是J达到最小,只需要利用极值的必要条件,)m...,1k(0aJk,得到关于a1,…,am的线性方程组)3(0]y)x(ra[)x(r............0]y)x(ra[)x(rim1kikkn1iimim1kikkn1ii1线性最小二乘法原理记mnnmn11m11)x(r...)x(r.........)x(r...)x(r,A=(a1,a2,…,am)T,y=(y1,…,yn)T,方程组(3)可表为RTRA=RTy(4)(4)称为法方程组,当{r1(x),…,rm(x)}线性无关时,R列满秩,RTR可逆,于是方程组(4)有唯一解A=(RTR)-1RTy(5)可以看出,只要f(x)关于待定系数a1,…,am线性,在最小二乘准则(2)下得到的方程组(3)关于a1,a2,…,am也一定是线性的,故称线性最小二乘法。线性最小二乘法原理2.理论______函数rk(x)的选取对数据(xi,yi)用线性最小二乘法作拟合时,首要的、也是关键的一步是恰当地选取r1(x),r2(x),…,rm(x)。n如果通过机理分析,能够知道y与x之间应该有什么样的函数关系,则r1(x),…,rm(x)容易确定。n若无法知道y与x之间的关系,可以将数据(xi,yi),i=1,2,…,n作图,直观地判断应该用什么样的曲线去作拟合。常用的曲线有u直线y=a1x+a2u多项式y=a1xm+…+amx+am+1(一般m=2,3,不宜过高)u双曲线(一支)y=a1/x+a2u指数曲线:拟合前需作变量代换,化为线性函数。对已知数据,用什么样的曲线拟合最好,可以在直观判断的基础上,选择几种曲线分别作拟合,然后比较,看那条曲线的最小二乘指标J最小。线性最小二乘法原理3.求解方法l描出数据的图示;l观察并选择不同的数学函数进行拟合;l比较多种拟合结果,选择其中较好的一种或者某几种作为备选结果;注·意:通常需要将非线性函数rk(x)的转化成线性的函数Rk(x),然后再用Rk(x)进行拟合,计算中通常需要列下表:i01…nxix0x1…xnyi=f(xi)y0y1…ynR1(x)R1(x0)R1(x1)…R1(xn)………………Rm(x)Rm(x0)Rm(x1)…Rm(xn)这样就容易确定出法方程组RTRA=RTy。上表中后面的m行即为RT。算例【例】给定数据(xi,f(xi)),i=0,1,2,3,4,见下表,使选择适当的模型,求最小二乘拟合函数g(x)。i01234xi1.001.251.501.752.00f(xi)5.105.796.537.458.46Yi=lnf(xi)1.6291.7561.8762.0082.135【解】:(1)、先描出数据的图示算例(2)选定不同的数学函数(模型)或者rk(x)进行拟合l直线模型y=a+bx选取y=a+bx,此时,r1(x)=1,r2(x)=x。要求y=a+bx与(xi,yi),i=0,1,2,3,4,做最小二乘拟合,yi=f(xi)。列表计算如下:i01234xi1.001.251.501.752.00yi=f(xi)5.105.796.537.458.46r1(x)11111r2(x)1.001.251.501.752.0000.2175.1150.1125.1111RRRT00.2175.1150.1125.111100.275.150.125.1111111875.1150.750.75YRT46.845.753.679.510.500.275.150.125.111111109.5233.33求解法方程组09.5233.33ba875.1150.750.75得到a=1.6380,b=3.3520,于是得到该模型下的最小二乘拟合曲线为g(x)=1.6380+3.3520x。算例算例l多项式模型y=a0+a1x+a2x2选取Y=a+bx+cx2,此时,r1(x)=1,r2(x)=x,r3(x)=x2。要求y=a+bx+cx2与(xi,yi),i=0,1,2,3,4,做最小二乘拟合,yi=f(xi)。列表计算如下:i01234xi1.001.251.501.752.00Yi=f(xi)5.105.796.537.458.46r1(x)=111111r2(x)=x1.001.251.501.752.00r3(x)=x21.001.56252.253.06254.000000.400.210625.375.112500.250.115625.125.110000.111RRRT0000.400.210625.375.11250.250.115625.125.110000.11100.40625.325.25625.1100.275.150.125.11111118828125.336875.198750.11687500.198750.1150.7875000.1150.75算例YRT46.845.753.679.510.500.40625.325.25625.1100.275.150.125.111111185.49552.09033.330求解法方程组得到a=3.6294,b=0.5406,c=0.9371,于是得到该模型下的最小二乘拟合曲线为g(x)=3.6294+0.5406x+0.9371x2。算例l双曲线模型y=1/(a0+a1x)选取y=1/(a0+a1x),令Y=1/y=a0+a1x,此时,r1(x)=1,r2(x)=x。要求Y=a0+a1x与(xi,yi),i=0,1,2,3,4,做最小二乘拟合,Yi=1/f(xi)。列表计算如下:i01234xi1.001.251.501.752.00f(xi)5.105.796.537.458.46Yi=1/f(xi)0.1960780.1727120.1531390.1342280.118203r1(x)11111r2(x)1.001.251.501.752.0000.2175.1150.1125.1111RRRT00.2175.1150.1125.111100.275.150.125.1111111875.1150.750.75算例YRT118203.0134228.0153139.0172712.0196078.000.275.150.125.111111111299.177436.0求解法方程组得到a0=0.27139,a1=-0.07768,于是得到该模型下的最小二乘拟合曲线为g(x)=1/(0.27139-0.07768x)。算例l指数曲线模型y=aebx选择y=aebx,取对数lny=lna+bx,令Y=lny,A=lna,取r1(x)=1,r2(x)=x,要求Y=A+bx与(xi,Yi),i=0,1,2,3,4,做最小二乘拟合,Yi=lnf(xi)。计算结果如下:i01234xi1.001.251.501.752.00f(xi)5.105.796.537.458.46Yi=lnf(xi)1.6292405401.7561322921.876406942.008214032.13534917r1(x)11111r2(x)1.001.251.501.752.0000.2175.1150.1125.1111RRRT00.2175.1150.1125.111100.275.150.125.1111111875.1150.750.75算例YRT42.1353491722.0082140331.8764069421.7561322901.6292405400.275.150.125.1111111314.424089219.40534298求解法方程组得到A=1.1225,b=0.5057,a=eA=3.072525924,于是得到此模型下的最小二乘拟合曲线g(x)=3.072525924e0.5057x。算例(3)比较上面的结果如下:40i2ii01234xi1.001.251.501.752.00f(xi)5.105.796.537.458.46直线模型4.995.836.677.508.340.49e-1多项式模型5.1075.7696.5497.4458.460.85e-3双曲线模型5.1625.7386.4577.3838.6180.42e-1指数函数模型5.0955.7816.5607.4448.4480.12e-2经过比较,使用多项式与指数函数拟合效果较好。用Matlab进行数据拟合1.多项式曲线拟合:polyfit.y0=polyval(p,x0)p=polyfit(x,y,m)其中,x,y为已知数据点向量,分别表示横,纵坐标,m为拟合多项式的次数,结果返回m次拟合多项式系数,从高次到低次存放在向量p中.可求得多项式在x0处的值y0.例1已知观测数据点如表所示xy0-0.4470.11.9780.23.280.36.160.47.080.57.340.67.660.79.560.89.480.99.3111.2分别用3次和6次多项式曲线拟合这些数据点.x=0:0.1:1y=[-0.447,1.978,3.28,6

1 / 76
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功