1、1/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis第三章 数据拟合方法 3.1 问题提出 3.2 最小二乘法的基本概念3.3 线性拟合方法 3.4 非线性曲线的数据拟合 2/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3.1 问题提出离散数据点插值:插值函数 精确通过每一个数据点。()x3/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis两类实际情况:离散数据点提出来自试验,具有测量误差,要求插 值函数通过所有数据点反而会保留测量误差的影响。某些情况下
2、需要找出反映变量变化关系的经验函 数,而非精确通过关键点的外形控制函数。3.1 问题提出4/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 例3.1.15/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 已知一组数据(xi,yi),y=f(xi),i=1,2,m。f未知。构造插值函数(x)来逼近 f(x),则有 (xi)=f(xi)=yi,i=1,2,m或记 Q=(x1),(x2),(xm),Y=(y1,y2,ym),则有 Q=Y.如果数据不能同时满足某个特定函数,而要求所求的逼近函数“最优地”靠近
3、数据点,即向量Q与Y 的误差或距离最小。按 Q与Y的误差最小原则作为最优标准所构造出的函数,我们称为拟合函数。3.1 问题提出6/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 定义Q与Y 之间的距离:其中,R 称为均方误差。最小二乘法:按均方误差达到极小构造拟合曲线的方法。111122221();();().maxmiiiiii mmiiiRQYxyRQYxyRRQYxy 3.1 问题提出7/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3.2 最小二乘法的基本概念 构造拟合曲线的两个问题:Q:从
4、哪一类函数族里面选择拟合曲线的形式?A:根据问题的实际背景,选择逼近 f(x)的函数族。21212122123112341 122(,)(,),sincos()()()nna xnnyx a aaa aayaa xyaa xa xya eyaa xaa xyaxaxax其中为待定参数8/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis数据拟合的线性模型数据拟合的线性模型 (x)=a1 1(x)+an n(x)例如例如:1(x),n(x)=1,x,xn-1 1(x),n(x)=1,cos x,cos(n-1)x3.2 最小二乘法的基本概念9/41 郑
5、州大学研究生2013-2014学年课程 数值分析 Numerical Analysis Q:如何确定参数a1,a2,an以确定一条拟合曲线呢?A:按照在数据点处均方误差最小的原则。11211111 (,),(,)(,)(,),(,),kknnmmnnkkkkknkkkxyaaQ aaQ aarx aayrx aay2记误差称为数据点的拟合误差,而其和应选择(拟合参数),使得函数的值最小。这种用求解误差函数最小值问题来确定拟合参数的方法称为数据拟合的最小二乘法3.2 最小二乘法的基本概念10/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 1111
6、 12122221(,)=()()()()()()()(nmkkkkknnnnnQ aayxxyaxaxaxaxaxxax2设拟合函数类是,其中,称为拟合基函数。定义误差函数,3.2 最小二乘法的基本概念11/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 11 12220,(1,2,()()()(),mkkkkkkinniQyaiaxaxaxxn 为求其最小值,我们用求驻点的方法可得)最小二乘法归结为 求n个未知数的线性代数方程组。3.2 最小二乘法的基本概念12/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical A
7、nalysis 11111,(1,2,)(),()()(),()()()nmmkkjkkjkkmijn nijkkkmkkkijiijiaiGggxxyxnxxyx i n 1i其中记则系,F=(F),其中数矩阵G 是F对称的。最小二乘法的正规方程组(其解为驻点)3.2 最小二乘法的基本概念13/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis引进矩阵和向量记号 112111222212111222()()()()()()()()(),nnmmnmmnnxxxxxxAxxxyaryarbXryarrAXb 而有 3.2 最小二乘法的基本概念14/4
8、1 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 22222100(,),mTkkrrr rAXb AXbXXAXb 则最小二乘问题是:求向量使得 在达到最小。3.2 最小二乘法的基本概念15/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 以上正规方程组是否存在唯一解?正规方程组的解是最小二乘问题的驻点,此驻点是否就是最小二乘问题的解呢?TTA AXA bGXF同时,正规方程组可写成也可以记为 3.2 最小二乘法的基本概念16/41 郑州大学研究生2013-2014学年课程 数值分析 Numerica
9、l Analysis 13.2.1(),(),1,2,TjjjmTTAnxxjnA AXA b 定理若 的 个列向量是线性无关的,则正规方程组 有唯一解。可以证明,此解是最小二乘问题的解.3.2 最小二乘法的基本概念17/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis定理3.2.23.2 最小二乘法的基本概念18/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 3.3 线性数据拟合方法 已知数据表已知数据表 x x1 x2 xmf(x)y1 y2 ym求拟合函数求拟合函数:(x)=a+b xa+b
10、x1=y1a+b x2=y2a+b xm=ym mmyyybaxxx2121111超定方程组超定方程组AXb19/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 2-范数平方范数平方2221|()mkkkrabxy 残差残差:rk=(a+bxk)yk (k=1,2,m)3.3 线性数据拟合方法 20/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis mkkkybxarbaS1222)(|),(0aS0bS求求 a,b 使使 S(a,b)=min3.3 线性数据拟合方法 21/41 郑州大学研究生201
11、3-2014学年课程 数值分析 Numerical Analysis021mkkkybxa)(mkkkkxybxa102)(mkkkmkkmkkmkkmkkyxbxaxybxma1121113.3 线性数据拟合方法 22/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis mmmkkmkkmkkxxxxxxxxxm11111121211211 mmmkkkmkkyyyxxxyxy212111111方程组方程组系数矩阵系数矩阵方程组方程组右端项右端项3.3 线性数据拟合方法 23/41 郑州大学研究生2013-2014学年课程 数值分析 Numeric
12、al Analysis超定方程组超定方程组:AX=正规方程组正规方程组:ATAX=AT 112111.mmiiiimmmiiiiiiiamxyxxx yb 拟合曲线的法方程(正规方程组)。解之得 a,b。代入 (x)=a+b x,即得所求的拟合曲线。bb3.3 线性数据拟合方法 24/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis例例3.3.1 已知实验数据如下已知实验数据如下,求线性拟合函数求线性拟合函数。解解:设拟合曲线方程为设拟合曲线方程为 (x)=a+b x x 1 2 3 4 5 f(x)4 4.5 6 8 93.3 线性数据拟合方法
13、25/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis 9865.445141312111ba5a+15b=31.515a+55b=108a=2.25,b=1.35 ATAX=ATAXbb3.3 线性数据拟合方法 26/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis12345246810|r|2=0.7583残差向量残差向量:(1)4=0.40 (2)4.5=0.45 (3)6=0.30 (4)8=0.35 (5)9=0 (x)=2.25+1.35 x3.3 线性数据拟合方法 27/41 郑州大学研究
14、生2013-2014学年课程 数值分析 Numerical Analysis例3.3.2 求数据的二次拟合函数求数据的二次拟合函数 P(x)=a0+a1x+a2x2x 1 2 3 4 5f(x)4 4.5 6 8 9 解解:将数据点代入将数据点代入,得得3.3 线性数据拟合方法 28/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis98654425511641931421111210.aaaa0+a1+a2=4a0+2a1+4a2=4.5a0+5a1+25a2=93.3 线性数据拟合方法 29/41 郑州大学研究生2013-2014学年课程 数值分
15、析 Numerical Analysis 4291085.3197922555225551555155210aaaa0=3,a1=0.7071,a2=0.10713.3 线性数据拟合方法 30/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis得得 P(x)=3+0.7071x+0.1071x212345345678910二次拟合误差二次拟合误差:|r|2=0.6437比较线性拟合误差比较线性拟合误差:|r|2=0.75833.3 线性数据拟合方法 31/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3
16、.3 线性数据拟合方法 x0=0:0.1:1;y0=(x0.2-3*x0+5).*exp(-5*x0).*sin(x0);p3=polyfit(x0,y0,3);vpa(poly2sym(p3),10)x=0:0.01:1;ya=(x.2-3*x+5).*exp(-5*x).*sin(x);y1=polyval(p3,x);subplot(2,1,1),plot(x,y1,x,ya,x0,y0,o),legend(三次拟合三次拟合曲线曲线,原函数曲线原函数曲线,样本点样本点)p4=polyfit(x0,y0,4);y4=polyval(p4,x);p5=polyfit(x0,y0,5);y5=
17、polyval(p5,x);p8=polyfit(x0,y0,8);y8=polyval(p8,x);subplot(2,1,2),plot(x,y4,x,x,y5,-,x,y8,:,x,ya,-)legend(四次拟合曲线四次拟合曲线,五次拟合曲线五次拟合曲线,八次拟合曲线八次拟合曲线,原函数曲线原函数曲线)vpa(poly2sym(p8),5)32/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3.3 线性数据拟合方法 33/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3.4 非线性曲线的数据
18、拟合问题提出:离散点图呈非线性。34/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis如果非线性函数为将给定数据(xi,yi)转换为(ui,vi),求出a,b,再代回原变量y,x,可求得原非线性拟合曲线。1111,.abuvuabvyxyx 令而3.4 非线性曲线的数据拟合35/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis例3.4.1 用给数据求经验公式:y=a ebx x 1 2 3 4 5 6 7 8y 15.3 20.5 27.4 36.6 49.1 65.6 87.8 117.6解 线性化。
19、对经验公式取自然对数 ln y=ln a+bx 令 u=ln y,b0=ln a,u=b0+bx 代入数据得矛盾方程组3.4 非线性曲线的数据拟合36/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis由法方程 ATAB=ATy,B=(b0,b),即 a=e2.4369=11.4375.y=11.4375e0.2912x.111222888lnln1lnln1 .lnln1abxyxabxyxAabxyx,2lnln,lniiiiiimxyabxyxx836ln13.0197ln2.4369i.e.,36 20463.90030.2912 aabb3
20、7/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis拟合曲线的均方误差为:拟合曲线的图形为882211()0.0262401.iiiiiy xy3.4 非线性曲线的数据拟合38/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis3.4 非线性曲线的数据拟合例3.4.239/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis f=inline(a(1)*exp(-a(2)*x)+a(3)*exp(-a(4)*x).*sin(a(5)*x),a,x)x=0:0.1:
21、10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);xx,res=lsqcurvefit(f,1,1,1,1,1,x,y);xx,resx1=0:0.01:10;y1=f(xx,x1);plot(x1,y1,x,y,o)legend(拟合曲线拟合曲线,样本点样本点)3.4 非线性曲线的数据拟合40/41 郑州大学研究生2013-2014学年课程 数值分析 Numerical Analysis第三章 小结 本章内容为离散数据的最小二乘拟合方法,需要重点掌握以下内容:最小二乘法的概念最小二乘法的概念 最小二乘问题解的存在问题及解的矩阵表示。最小二乘问题解的存在问题及解的矩阵表示。线性数据的拟合方法。线性数据的拟合方法。非线性数据的拟合方法。非线性数据的拟合方法。