ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:134.62KB ,
资源ID:9456667      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9456667.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(曲线拟合的线性最小二乘法及其MATLAB程序.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

曲线拟合的线性最小二乘法及其MATLAB程序.docx

1、曲线拟合的线性最小二乘法及其MATLAB程序1 曲线拟合的线性最小二乘法及其MATLAB程序例7.2.1 给出一组数据点列入表72中,试用线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.表72 例7.2.1的一组数据xi-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6yi-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04解 (1)在MATLAB工作窗口输入程序 x=-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6; y=-192.9 -

2、85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04;plot(x,y,r*),legend(实验数据(xi,yi)xlabel(x), ylabel(y),title(例7.2.1的数据点(xi,yi)的散点图)运行后屏幕显示数据的散点图(略). (3)编写下列MATLAB程序计算在处的函数值,即输入程序 syms a1 a2 a3 a4x=-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6; fi=a1.*x.3+ a2.*x.2+ a3.*x+ a4运行后屏幕显示关于a1,a2, a3和a4的线性方程组fi = -12

3、5/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*a2+18/5*a3+a4编写构造误差平方和的MATLAB程序 y=-192.9 -85.50 -

4、36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04;fi=-125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*

5、a2+18/5*a3+a4;fy=fi-y; fy2=fy.2; J=sum(fy.2)运行后屏幕显示误差平方和如下J= (-125/8*a1+25/4*a2-5/2*a3+a4+1929/10)2+(-4913/1000*a1+289/100*a2-17/10*a3+a4+171/2)2+(-1331/1000*a1+121/100*a2-11/10*a3+a4+723/20)2+(-64/125*a1+16/25*a2-4/5*a3+a4+663/25)2+(a4+91/10)2+(1/1000*a1+1/100*a2+1/10*a3+a4+843/100)2+(27/8*a1+9/4*a

6、2+3/2*a3+a4+328/25)2+(19683/1000*a1+729/100*a2+27/10*a3+a4-13/2)2+(5832/125*a1+324/25*a2+18/5*a3+a4-1701/25)2为求使达到最小,只需利用极值的必要条件 ,得到关于的线性方程组,这可以由下面的MATLAB程序完成,即输入程序 syms a1 a2 a3 a4J=(-125/8*a1+25/4*a2-5/2*a3+a4+1929/10)2+(-4913/1000*a1+289/100*a2-17/10*a3+a4.+171/2)2+(-1331/1000*a1+121/100*a2-11/10

7、*a3+a4+723/20)2+(-64/125*a1+16/25*a2-4/5*a3+a4+663/25)2+(a4+91/10)2+(1/1000*a1+1/100*a2+1/10*a3+a4+843/100)2+(27/8*a1+9/4*a2+3/2*a3+a4+328/25)2+(19683/1000*a1+729/100*a2+27/10*a3+a4-13/2)2+(5832/125*a1+324/25*a2+18/5*a3+a4-1701/25)2; Ja1=diff(J,a1); Ja2=diff(J,a2); Ja3=diff(J,a3); Ja4=diff(J,a4);Ja1

8、1=simple(Ja1), Ja21=simple(Ja2), Ja31=simple(Ja3), Ja41=simple(Ja4),运行后屏幕显示J分别对a1, a2 ,a3 ,a4的偏导数如下Ja11=56918107/10000*a1+32097579/25000*a2+1377283/2500*a3+23667/250*a4-8442429/625Ja21 = 32097579/25000*a1+1377283/2500*a2+23667/250*a3+67*a4+767319/625Ja31 =1377283/2500*a1+23667/250*a2+67*a3+18/5*a4-2

9、32638/125Ja41 =23667/250*a1+67*a2+18/5*a3+18*a4+14859/25解线性方程组Ja11 =0,Ja21 =0,Ja31 =0,Ja41 =0,输入下列程序A=56918107/10000, 32097579/25000, 1377283/2500, 23667/250; 32097579/25000, 1377283/2500, 23667/250, 67; 1377283/2500, 23667/250, 67, 18/5; 23667/250, 67, 18/5, 18;B=8442429/625, -767319/625, 232638/12

10、5, -14859/25; C=B/A, f=poly2sym(C)运行后屏幕显示拟合函数f及其系数C如下C = 5.0911 -14.1905 6.4102 -8.2574f=716503695845759/140737488355328*x3-7988544102557579/562949953421312*x2+1804307491277693/281474976710656*x-4648521160813215/562949953421312 故所求的拟合曲线为.(4)编写下面的MATLAB程序估计其误差,并作出拟合曲线和数据的图形.输入程序 xi=-2.5 -1.7 -1.1 -0.

11、8 0 0.1 1.5 2.7 3.6; y=-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04;n=length(xi); f=5.0911.*xi.3-14.1905.*xi.2+6.4102.*xi -8.2574;x=-2.5:0.01: 3.6; F=5.0911.*x.3-14.1905.*x.2+6.4102.*x -8.2574;fy=abs(f-y); fy2=fy.2; Ew=max(fy), E1=sum(fy)/n, E2=sqrt(sum(fy2)/n)plot(xi,y,r*), hold on, pl

12、ot(x,F,b-), hold offlegend(数据点(xi,yi),拟合曲线y=f(x), xlabel(x), ylabel(y),title(例7.2.1的数据点(xi,yi)和拟合曲线y=f(x)的图形)运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点和拟合曲线y=f(x)的图形(略).Ew = E1 = E2 =3.105 4 0.903 4 1.240 97.3 函数的选取及其MATLAB程序例7.3.1 给出一组实验数据点的横坐标向量为x=(-8.5,-8.7,-7.1,-6.8,-5.10,-4.5,-3.6,-3.4,-2.6,-2.

13、5, -2.1,-1.5, -2.7,-3.6),纵横坐标向量为y=(459.26,52.81,198.27,165.60,59.17,41.66,25.92, 22.37,13.47, 12.87, 11.87,6.69,14.87,24.22),试用线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.解 (1)在MATLAB工作窗口输入程序x=-8.5,-8.7,-7.1,-6.8,-5.10,-4.5,-3.6,-3.4,-2.6,-2.5, -2.1,-1.5, -2.7,-3.6;y=459.26,52.81,198.27,165.60,59.

14、17,41.66,25.92, 22.37,13.47, 12.87, 11.87,6.69,14.87,24.22;plot(x,y,r*),legend(实验数据(xi,yi)xlabel(x), ylabel(y),title(例7.3.1的数据点(xi,yi)的散点图)运行后屏幕显示数据的散点图(略).(3)编写下列MATLAB程序计算在处的函数值,即输入程序 syms a bx=-8.5,-8.7,-7.1,-6.8,-5.10,-4.5,-3.6,-3.4,-2.6,-2.5,-2.1,-1.5,-2.7,-3.6; fi=a.*exp(-b.*x)运行后屏幕显示关于a和b的线性方

15、程组fi = a*exp(17/2*b), a*exp(87/10*b), a*exp(71/10*b), a*exp(34/5*b), a*exp(51/10*b), a*exp(9/2*b), a*exp(18/5*b), a*exp(17/5*b), a*exp(13/5*b), a*exp(5/2*b), a*exp(21/10*b), a*exp(3/2*b), a*exp(27/10*b), a*exp(18/5*b)编写构造误差平方和的MATLAB程序如下y=459.26,52.81,198.27,165.60,59.17,41.66,25.92,22.37,13.47,12.8

16、7, 11.87, 6.69,14.87,24.22;fi = a*exp(17/2*b), a*exp(87/10*b), a*exp(71/10*b), a*exp(34/5*b), a*exp(51/10*b), a*exp(9/2*b), a*exp(18/5*b), a*exp(17/5*b), a*exp(13/5*b), a*exp(5/2*b), a*exp(21/10*b), a*exp(3/2*b), a*exp(27/10*b), a*exp(18/5*b);fy=fi-y;fy2=fy.2;J=sum(fy.2)运行后屏幕显示误差平方和如下J = (a*exp(17/2

17、*b)-22963/50)2+(a*exp(87/10*b)-5281/100)2+(a*exp(71/10*b)-19827/100)2+(a*exp(34/5*b)-828/5)2+(a*exp(51/10*b)-5917/100)2+(a*exp(9/2*b)-2083/50)2+(a*exp(18/5*b)-648/25)2+(a*exp(17/5*b)-2237/100)2+(a*exp(13/5*b)-1347/100)2+(a*exp(5/2*b)-1287/100)2+(a*exp(21/10*b)-1187/100)2+(a*exp(3/2*b)-669/100)2+(a*e

18、xp(27/10*b)-1487/100)2+(a*exp(18/5*b)-1211/50)2为求使达到最小,只需利用极值的必要条件,得到关于的线性方程组,这可以由下面的MATLAB程序完成,即输入程序 syms a bJ=(a*exp(17/2*b)-22963/50)2+(a*exp(87/10*b)-5281/100)2+(a*exp(71/10*b)-19827/100)2+(a*exp(34/5*b)-828/5)2+(a*exp(51/10*b)-5917/100)2+(a*exp(9/2*b)-2083/50)2+(a*exp(18/5*b)-648/25)2+(a*exp(17

19、/5*b)-2237/100)2+(a*exp(13/5*b)-1347/100)2+(a*exp(5/2*b)-1287/100)2+(a*exp(21/10*b)-1187/100)2+(a*exp(3/2*b)-669/100)2+(a*exp(27/10*b)-1487/100)2+(a*exp(18/5*b)-1211/50)2;Ja=diff(J,a); Jb=diff(J,b); Ja1=simple(Ja), Jb1=simple(Jb),运行后屏幕显示J分别对的偏导数如下Ja1 =2*a*exp(3*b)+2*a*exp(17*b)+2*a*exp(87/5*b)+2*exp

20、(68/5*b)*a+2*exp(9*b)*a+2*a*exp(34/5*b)-669/50*exp(3/2*b)-1487/50*exp(27/10*b)-2507/25*exp(18/5*b)-22963/25*exp(17/2*b)-5281/50*exp(87/10*b)-19827/50*exp(71/10*b)-2237/50*exp(17/5*b)-1656/5*exp(34/5*b)-1347/50*exp(13/5*b)-5917/50*exp(51/10*b)-1287/50*exp(5/2*b)-2083/25*exp(9/2*b)-1187/50*exp(21/10*b

21、)+4*a*exp(36/5*b)+2*a*exp(26/5*b)+2*a*exp(71/5*b)+2*a*exp(51/5*b)+2*a*exp(5*b)+2*a*exp(21/5*b)+2*a*exp(27/5*b)Jb1 =1/500*a*(2100*a*exp(21/10*b)2+8500*a*exp(17/2*b)2+6800*a*exp(34/5*b)2-10035*exp(3/2*b)-40149*exp(27/10*b)-180504*exp(18/5*b)-3903710*exp(17/2*b)-459447*exp(87/10*b)-1407717*exp(71/10*b)

22、-76058*exp(17/5*b)-1126080*exp(34/5*b)-35022*exp(13/5*b)-301767*exp(51/10*b)-32175*exp(5/2*b)-187470*exp(9/2*b)-24927*exp(21/10*b)+7100*a*exp(71/10*b)2+5100*a*exp(51/10*b)2+4500*a*exp(9/2*b)2+7200*a*exp(18/5*b)2+3400*a*exp(17/5*b)2+2600*a*exp(13/5*b)2+2500*a*exp(5/2*b)2+1500*a*exp(3/2*b)2+2700*a*exp

23、(27/10*b)2+8700*a*exp(87/10*b)2)用解二元非线性方程组的牛顿法的MATLAB程序求解线性方程组Ja1 =0,Jb1 =0,得a = b=2.811 0 0.581 6故所求的拟合曲线(7.13)为e. (7.14)(4)根据(7.2),(7.3),(7.4)和(7.14)式编写下面的MATLAB程序估计其误差,并做出拟合曲线和数据的图形.输入程序 xi=-8.5 -8.7 -7.1 -6.8 -5.10 -4.5 -3.6 -3.4 -2.6 -2.5 -2.1 -1.5 -2.7 -3.6;y=459.26 52.81 198.27 165.60 59.17 4

24、1.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22;n=length(xi); f=2.8110.*exp(-0.5816.*xi); x=-9:0.01: -1;F=2.8110.*exp(-0.5816.*x); fy=abs(f-y); fy2=fy.2; Ew=max(fy),E1=sum(fy)/n, E2=sqrt(sum(fy2)/n), plot(xi,y,r*), hold onplot(x,F,b-), hold off,legend(数据点(xi,yi),拟合曲线y=f(x)xlabel(x), ylabel(y), t

25、itle(例7.3.1的数据点(xi,yi)和拟合曲线y=f(x)的图形)运行后屏幕显示数据与拟合函数f的最大误差Ew = 390.141 5,平均误差E1=36.942 2和均方根误差E2=106.031 7及其数据点和拟合曲线y=f(x)的图形(略).7.4 多项式拟合及其MATLAB程序例7.4.1 给出一组数据点列入表73中,试用线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.表73 例7.4.1的一组数据xi-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6yi53.94 33.68 20.88 16.92 8.79

26、 8.98 4.17 9.12 19.88解 (1)首先根据表73给出的数据点,用下列MATLAB程序画出散点图.在MATLAB工作窗口输入程序 x=-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6; y=53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88;plot(x,y,r*), legend(数据点(xi,yi)xlabel(x), ylabel(y), title(例7.4.1的数据点(xi,yi)的散点图)运行后屏幕显示数据的散点图(略).(3)用作线性最小二乘拟合的多项式拟合的MATLAB程序求待定系数 .输

27、入程序 a=polyfit(x,y,2)运行后输出(7.16)式的系数a =2.8302 -7.3721 9.1382故拟合多项式为 .(4)编写下面的MATLAB程序估计其误差,并做出拟合曲线和数据的图形.输入程序 xi=-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6; y=53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88;n=length(xi); f=2.8302.*xi.2-7.3721.*xi+9.1382x=-2.9:0.001:3.6;F=2.8302.*x.2-7.3721.*x+8.79;fy=ab

28、s(f-y); fy2=fy.2; Ew=max(fy), E1=sum(fy)/n,E2=sqrt(sum(fy2)/n), plot(xi,y,r*, x,F,b-),legend(数据点(xi,yi),拟合曲线y=f(x)xlabel(x), ylabel(y), title(例7.4.1 的数据点(xi,yi)和拟合曲线y=f(x)的图形)运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点(xi,yi)和拟合曲线y=f(x)的图形(略).Ew = E1 = E2 =0.745 7, 0.389 2, 0.436 37.5 拟合曲线的线性变换及其MATL

29、AB程序 例7.5.1 给出一组实验数据点的横坐标向量为x=(7.5 6.8 5.10 4.5 3.6 3.4 2.6 2.5 2.1 1.5 2.7 3.6),纵横坐标向量为y=(359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22),试用线性变换和线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.解 (1)首先根据给出的数据点,用下列MATLAB程序画出散点图.在MATLAB工作窗口输入程序 x=7.5 6.8 5.10 4.5 3.6 3.4 2.6 2.

30、5 2.1 1.5 2.7 3.6;y=359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22; plot(x,y,r*), legend(数据点(xi,yi)xlabel(x), ylabel(y),title(例7.5.1的数据点(xi,yi)的散点图)运行后屏幕显示数据的散点图(略).(2)根据数据散点图,取拟合曲线为 e , (7.19) 其中是待定系数.令,则(7.19)化为.在MATLAB工作窗口输入程序 x=7.5 6.8 5.10 4.5 3.6 3.4 2.6 2.5 2.1 1.5 2.7 3.6;y=359.26 165.60 59.17 41.66 25.92 22.37 13.47 12.87 11.87 6.69 14.87 24.22; Y=log(y); a=polyfit(x,Y,1); B=a(1);A=a(2); b=B,a=exp(A)n=length(x); X=8:-0.01:1; Y=a*exp(b.*X); f=a*exp(b.*x);plot(x,y,r*,X,Y,b-), xlabel(x),ylabel(y)legend(数据点(xi,yi),拟合曲线y=f(x)title(例7.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1