第8章 数据插值与拟合精选PPT.ppt

上传人:石*** 文档编号:49397583 上传时间:2022-10-08 格式:PPT 页数:49 大小:4.52MB
返回 下载 相关 举报
第8章 数据插值与拟合精选PPT.ppt_第1页
第1页 / 共49页
第8章 数据插值与拟合精选PPT.ppt_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《第8章 数据插值与拟合精选PPT.ppt》由会员分享,可在线阅读,更多相关《第8章 数据插值与拟合精选PPT.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第8章 数据插值与拟合2022/10/71第1页,本讲稿共49页8.1 数据插值o一维数据的插值问题o二维网格数据的插值问题o二维一般分布数据的插值问题o高维插值问题2022/10/72第2页,本讲稿共49页8.1.1 一维数据的插值问题ointerp1函数ospline函数olagrange插值ohermite插值2022/10/73第3页,本讲稿共49页1、interp1函数interp1函数的调用格式:py=interp1(x0,y0,x,method)py=interp1(x0,y0,x,method,extrap)*临近点插值:临近点插值:method=nearest*线性插值:线性

2、插值:method=linear*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/10/74第4页,本讲稿共49页1、interp1函数选择插值方法时主要考虑因素:运算时间、占用计算机内存和插值的光滑程度。运算时间占用计算机内存光滑程度临近点插值快少差线性插值稍长较多稍好三次样条插值最长较多最好立方插值较长多较好插值方法比较插值方法比较2022/10/75第5页,本讲稿共49页例例:已知的数据点来自函数已知的数据点来自函数根据生成的数据进行插值处理,得出较平滑的曲线根据生成的数据进行插值处理,得出较平滑的曲线直接生

3、成数据。直接生成数据。o数据点:数据点:x=0:0.12:1;y=(x.2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,x,y,o)2022/10/76第6页,本讲稿共49页p调用interp1()函数:x0=0:0.02:1;y0=(x0.2-3*x0+5).*exp(-5*x0).*sin(x0);y1=interp1(x,y,x0);y2=interp1(x,y,x0,cubic);y3=interp1(x,y,x0,spline);y4=interp1(x,y,x0,nearest);plot(x0,y1,y2,y3,y4,:,x,y,o,x0,y0)p误差分

4、析 max(abs(y0(1:49)-y2(1:49),max(abs(y0-y3),max(abs(y0-y4)ans=0.0177 0.0086 0.15981、interp1函数2022/10/77第7页,本讲稿共49页n功能 三次样条数据插值n格式 yy=spline(x,y,xx)n例:对离散分布在y=exp(x)sin(x)函数曲线上的数据点进行样条插值计算:x=0 2 4 5 8 12 12.8 17.2 19.9 20;y=exp(x).*sin(x);xx=0:.25:20;yy=spline(x,y,xx);plot(x,y,o,xx,yy)2、spline函数2022/1

5、0/78第8页,本讲稿共49页3、lagrange插值o方法介绍 对给定的n个插值点 及对应的函数值 ,利用构造的n-1次lagrange插值多项式,则对插值区间内任意x的函数值y可通过下式求的:2022/10/79第9页,本讲稿共49页lagrange插值函数function y=lagrange(x0,y0,x)ii=1:length(x0);y=zeros(size(x);for i=ii ij=find(ii=i);y1=1;for j=1:length(ij),y1=y1.*(x-x0(ij(j);end y=y+y1*y0(i)/prod(x0(i)-x0(ij);end2022/

6、10/710第10页,本讲稿共49页pLagrange插值 x0=-1+2*0:10/10;y0=1./(1+25*x0.2);x=-1:0.01:1;y=lagrange(x0,y0,x);ya=1./(1+25*x.2);plot(x,ya,x,y,:)p调用interp1函数y1=interp1(x0,y0,x,cubic);y2=interp1(x0,y0,x,spline);plot(x,ya,x,y1,:,x,y2,-)3、lagrange插值例:对例:对 进行进行Lagrange插值插值2022/10/711第11页,本讲稿共49页 许多实际插值问题中,为使插值函数能更好地许多实

7、际插值问题中,为使插值函数能更好地和原来的函数重合,不但要求二者在节点上函数值和原来的函数重合,不但要求二者在节点上函数值相等,而且还要求相切,对应的导数值也相等,甚相等,而且还要求相切,对应的导数值也相等,甚至要求高阶导数也相等。这类插值称作切触插值,至要求高阶导数也相等。这类插值称作切触插值,或埃尔米特或埃尔米特(Hermite)插值。满足这种要求的插值插值。满足这种要求的插值多项式就是埃尔米特插值多项式多项式就是埃尔米特插值多项式4、埃尔米特插值(hermite插值)2022/10/712第12页,本讲稿共49页4、埃尔米特插值(hermite插值)o方法介绍 已知n个插值点 及对应的函

8、数值 和一阶导数值 。则对插值区间内任意x的函数值y的Hermite插值公式:2022/10/713第13页,本讲稿共49页hermite插值函数function y=hermite(x0,y0,y1,x)n=length(x0);m=length(x);for k=1:m yy=0.0;for i=1:n h=1.0;a=0.0;for j=1:n if j=i h=h*(x(k)-x0(j)/(x0(i)-x0(j)2;a=1/(x0(i)-x0(j)+a;end end yy=yy+h*(x0(i)-x(k)*(2*a*y0(i)-y1(i)+y0(i);end y(k)=yy;end2

9、022/10/714第14页,本讲稿共49页例:利用Hermite插值法求sin0.34的近似值。x0=0.3,0.32,0.35;y0=0.29552,0.31457,0.34290;y1=0.95534,0.94924,0.93937;y=hermite(x0,y0,y1,0.34)y=0.3335 sin(0.34)与精确值比较ans=0.33354、hermite插值2022/10/715第15页,本讲稿共49页8.1.2 二维网格数据的插值问题二维插值函数interp2的调用格式:pzi=interp2(x0,y0,z0,xi,yi)pzi=interp2(x0,y0,z0,xi,y

10、i,method)*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/10/716第16页,本讲稿共49页例 由二元函数获得一些较稀疏的网格数据,对整个函数曲面进行各种插值,并比较插值结果o绘制已知数据的网格图 x,y=meshgrid(-3:0.6:3,-2:0.4:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);surf(x,y,z);axis(-3,3,-2,2,

11、-0.7,1.5)8.1.2 二维网格数据的插值问题2022/10/717第17页,本讲稿共49页默认线性插值算法进行插值 x1,y1=meshgrid(-3:.2:3,-2:.2:2);z1=interp2(x,y,z,x1,y1);surf(x1,y1,z1),axis(-3,3,-2,2,-0.7,1.5)立方和样条插值:z1=interp2(x,y,z,x1,y1,cubic);z2=interp2(x,y,z,x1,y1,spline);surf(x1,y1,z1),axis(-3,3,-2,2,-0.7,1.5)figure;surf(x1,y1,z2),axis(-3,3,-2,

12、2,-0.7,1.5)2022/10/718第18页,本讲稿共49页算法误差的比较算法误差的比较z=(x1.2-2*x1).*exp(-x1.2-y1.2-x1.*y1);surf(x1,y1,abs(z-z1),axis(-3,3,-2,2,0,0.08)figure;surf(x1,y1,abs(z-z2),axis(-3,3,-2,2,0,0.025)2022/10/719第19页,本讲稿共49页8.1.3 二维一般分布数据的插值问题griddata函数的调用格式:pz=griddata(x0,y0,z0,x,y,method)method=v4:插值算法,公认效果较好:插值算法,公认效

13、果较好*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=cubic2022/10/720第20页,本讲稿共49页例 在x为-3,3,y为-2,2矩形区域随机选择一组数据点,用 v4 与cubic插值法进行处理,并对误差进行比较。已知数据点 x=-3+6*rand(200,1);y=-2+4*rand(200,1);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);plot(x,y,x)%样本点的二维分布 figu

14、re,plot3(x,y,z,x),axis(-3,3,-2,2,-0.7,1.5),grid2022/10/721第21页,本讲稿共49页cubic和v4算法 x1,y1=meshgrid(-3:0.2:3,-2:0.2:2);z1=griddata(x,y,z,x1,y1,cubic);surf(x1,y1,z1);axis(-3,3,-2,2,-0.7,1.5)z2=griddata(x,y,z,x1,y1,v4);figure;surf(x1,y1,z2);axis(-3,3,-2,2,-0.7,1.5)误差分析 z0=(x1.2-2*x1).*exp(-x1.2-y1.2-x1.*y

15、1);surf(x1,y1,abs(z0-z1),axis(-3,3,-2,2,0,0.15)figure;surf(x1,y1,abs(z0-z2);axis(-3,3,-2,2,0,0.15)2022/10/722第22页,本讲稿共49页8.1.4 高维插值问题u三维插值三维插值interp3函数的调用格式:函数的调用格式:三维网格三维网格 x,y,z=meshgrid(x1,y1,z1)griddata3()三维非网格数据插值三维非网格数据插值un维插值维插值interpn函数函数un维网格维网格 x1,x2,xn=ndgridv1,v2,vnugriddatan()n维非网格数据插值维

16、非网格数据插值uinterp3()、interpn()调用格式同调用格式同interp2()一致一致ugriddata3()、griddatan()调用格式同调用格式同griddata()一致一致2022/10/723第23页,本讲稿共49页例:通过函数生成一些网格型样本点,据此进行插值并给出插值误差。x,y,z=meshgrid(-1:0.2:1);x0,y0,z0=meshgrid(-1:0.05:1);V=exp(x.2.*z+y.2.*x+z.2.*y).*cos(x.2.*y.*z+z.2.*y.*x);V0=exp(x0.2.*z0+y0.2.*x0+z0.2.*y0).*cos(

17、x0.2.*y0.*z0+z0.2.*y0.*x0);V1=interp3(x,y,z,V,x0,y0,z0,spline);err=V1-V0;max(err(:)ans=0.04192022/10/724第24页,本讲稿共49页8.2 数据拟合o多项式拟合o函数线性组合的曲线拟合方法o最小二乘曲线拟合2022/10/725第25页,本讲稿共49页p多项式标准形式:p多项式拟合函数polyfit,其调用格式 p=polyfit(x,y,n)其中 x和y为原始样本点构成的向量 n为多项式的阶次 p为多项式系数按降幂排列得到的向量8.2.1 多项式拟合2022/10/726第26页,本讲稿共49

18、页三次多项式拟合三次多项式拟合 x0=0:.1:1;y0=(x0.2-3*x0+5).*exp(-5*x0).*sin(x0);p3=polyfit(x0,y0,3);vpa(poly2sym(p3),10)ans=2.839962923*x3-4.789842696*x2+1.943211631*x例例:已知的数据点来自函数已知的数据点来自函数用多项式拟合的方法在不同阶次下进行拟合用多项式拟合的方法在不同阶次下进行拟合2022/10/727第27页,本讲稿共49页绘制拟合曲线:绘制拟合曲线:x=0:.01:1;ya=(x.2-3*x+5).*exp(-5*x).*sin(x);y1=poly

19、val(p3,x);plot(x,y1,x,ya,x0,y0,o)2022/10/728第28页,本讲稿共49页不同次数进行拟合:不同次数进行拟合:p4=polyfit(x0,y0,4);y2=polyval(p4,x);p5=polyfit(x0,y0,5);y3=polyval(p5,x);p8=polyfit(x0,y0,8);y4=polyval(p8,x);plot(x,ya,x0,y0,o,x,y2,x,y3,x,y4)2022/10/729第29页,本讲稿共49页拟合次数为拟合次数为8的多项式:的多项式:vpa(poly2sym(p8),5)ans=-8.2586*x8+43.5

20、66*x7-101.98*x6+140.22*x5-125.29*x4+74.450*x3-27.672*x2+4.9869*x+.42037e-6Taylor幂级数展开:幂级数展开:syms x;y=(x2-3*x+5)*exp(-5*x)*sin(x);vpa(taylor(y,9),5)ans=5.*x-28.*x2+77.667*x3-142.*x4+192.17*x5-204.96*x6+179.13*x7-131.67*x8多项式表示数据模型是不唯一的,即是两个多项式函数完全多项式表示数据模型是不唯一的,即是两个多项式函数完全不同。在某一区域内其曲线可能特别近似。不同。在某一区域内

21、其曲线可能特别近似。2022/10/730第30页,本讲稿共49页编制程序编制程序 x0=-1+2*0:10/10;y0=1./(1+25*x0.2);x=-1:.01:1;ya=1./(1+25*x.2);p3=polyfit(x0,y0,3);y1=polyval(p3,x);p5=polyfit(x0,y0,5);y2=polyval(p5,x);p8=polyfit(x0,y0,8);y3=polyval(p8,x);p10=polyfit(x0,y0,10);y4=polyval(p10,x);plot(x,ya,x,y1,x,y2,-.,x,y3,-,x,y4,:)例:对例:对 多

22、项式拟合,多项式拟合,多项式拟合的效果并不一定总是很精确的。多项式拟合的效果并不一定总是很精确的。2022/10/731第31页,本讲稿共49页o用Taylor幂级数展开效果将更差。syms x;y=1/(1+25*x2);p=taylor(y,x,10)p=1-25*x2+625*x4-15625*x6+390625*x8o多项式拟合效果 x1=-1:0.01:1;ya=1./(1+25*x1.2);y1=subs(p,x,x1);plot(x1,ya,-,x1,y1)2022/10/732第32页,本讲稿共49页8.2.2 函数线性组合的曲线拟合方法已知某函数的线性组合为:g(x)=c1f

23、1(x)+c2f2(x)+cnfn(x)其中f1(x),f2(x),cnfn(x)为已知函数,c1,c2,cn为待定系数假设已经测出数据(x1,y1),(x2,y2),(xm,ym),则可建立如下的线性方程:Ac=y2022/10/733第33页,本讲稿共49页2022/10/734第34页,本讲稿共49页例 假设测出一组实验数据(xi,yi),其函数原型为y(x)=c1+c2e-3x+c3cos(-2x)e-4x+c4x2,用已知数据求出待定系数ci的值x00.20.40.70.90.92y2.882.25761.96831.92582.08622.109x0.991.21.41.481.5

24、y2.19792.54092.96273.1553.20522022/10/735第35页,本讲稿共49页拟合拟合ci参数参数x=0,0.2,0.4,0.7,0.9,0.92,0.99,1.2,1.4,1.48,1.5;y=2.88;2.2576;1.9683;1.9258;2.0862;2.109;2.1979;2.5409;2.9627;3.155;3.2052;A=ones(size(x),exp(-3*x),cos(-2*x).*exp(-4*x),x.2;c=Ay;c1=cc1=1.2200 2.3397 -0.6797 0.87002022/10/736第36页,本讲稿共49页图形

25、显示 x0=0:0.01:1.5;A1=ones(size(x0),exp(-3*x0),cos(-2*x0).*exp(-4*x0)x0.2;y1=A1*c;plot(x0,y1,x,y,x)2022/10/737第37页,本讲稿共49页例例 对下列实验数据进行函数拟合对下列实验数据进行函数拟合已知数据点x=1.1052,1.2214,1.3499,1.4918,1.6487,1.8221,2.0138,2.2255,2.4596,2.7183,3.6693;y=0.6795,0.6006,0.5309,0.4693,0.4148,0.3666,0.3241,0.2864,0.2532,0.

26、2238,0.1546;plot(x,y,x,y,*)x1.10521.22141.34991.49181.64871.8221y0.67950.60060.53090.46930.41480.3666x2.01382.22552.45962.71833.6693y0.324140.28650.25320.22380.15462022/10/738第38页,本讲稿共49页o对对x,y进行对数变换:进行对数变换:x1=log(x);y1=log(y);plot(x1,y1)o线性函数拟合法线性函数拟合法 A=x1,ones(size(x1);c=Ay1c=-1.2339 -0.2630 exp(

27、c(2)ans=0.76872022/10/739第39页,本讲稿共49页例 对f(x)=(x2-3x+5)e-5xsinx进行多项式拟合,可以选择各个函数为fi(x)=xn+1-i,i=1,2,n,并观察多项式拟合的结果o编制程序:编制程序:x=0:0.1:1;y=(x.2-3*x+5).*exp(-5*x).*sin(x);n=8;A=;for i=1:n+1,A(:,i)=x.(n+1-i);endc=Ay;vpa(poly2sym(c),5)ans=-8.2586*x8+43.566*x7-101.98*x6+140.22*x5-125.29*x4+74.450*x3-27.672*x

28、2+4.9869*x+.42037e-62022/10/740第40页,本讲稿共49页8.2.3 最小二乘曲线拟合有一组数据xi,yi(i=1,2,N)满足某一函数原型 ,其中a为待定系数向量,求出一组待定系数的值使得目标函数最小:2022/10/741第41页,本讲稿共49页最小二乘曲线拟合函数lsqcurvefit的调用格式:p a,Jm=lsqcurvefit(Fun,a0,x,y)pFun为为原原型型函函数数的的matlab表表示示,可可以以是是M-函函数数或或inline()函数函数pa0为最优化初值为最优化初值px和和y为原始输入输出数据向量为原始输入输出数据向量pa为返回的待定系

29、数向量为返回的待定系数向量pJm为在待定系数下目标函数的值为在待定系数下目标函数的值2022/10/742第42页,本讲稿共49页例 由下面语句生成一组数据,其中ai为待定系数a=0:0.1:10;y=0.12*exp(-0.213*x)+0.54exp(-0.17*x).*sin(1.23*x);并且该数据满足采用最小二乘曲线拟合获得这些待定系数,使目标函数的值为最小。编写函数:编写函数:f=inline(a1*exp(-a2*x)+a3exp(-a4*x).*sin(a5*x),a,x);2022/10/743第43页,本讲稿共49页求解待定系数向量求解待定系数向量xx,res=lsqcu

30、rvefit(f,1,1,1,1,1,x,y);xx,resans=0.1197 0.2125 0.5404 0.1702 1.2300res=7.1637e-0072022/10/744第44页,本讲稿共49页修改最优化选项:修改最优化选项:ff=optimset;ff.TolFun=1e-20;ff.TolX=1e-15;xx,res=lsqcurvefit(f,1,1,1,1,1,x,y,ff);xx,resans=0.1200 0.2130 0.5400 0.1700 1.2300res=9.5035e-0212022/10/745第45页,本讲稿共49页绘制曲线:绘制曲线:x1=0:

31、0.01:10;y1=f(xx,x1);plot(x1,y1,x,y,o)2022/10/746第46页,本讲稿共49页例 已知数据可能满足求满足数据的最小二乘解a、b、c和d的值输入已知数据点:输入已知数据点:x=0.1:0.1:1;y=2.3201,2.6470,2.9707,3.2885,3.6008,3.9090,4.2147,4.5191,4.8232,5.1275;x0.10.20.30.40.5y2.32012.64702.97073.28853.6008x0.60.70.80.91.0y3.90904.21474.51914.82325.12752022/10/747第47页,本讲稿共49页编写函数编写函数function y=c8f3(a,x)y=a(1)*x+a(2)*x.2.*exp(-a(3)*x)+a(4);待定系数求解待定系数求解a=lsqcurvefit(c8f3,1;2;2;3,x,y);aans=2.4575 2.4557 1.4437 2.07202022/10/748第48页,本讲稿共49页绘制曲线:绘制曲线:y1=c8f3(a,x);plot(x,y,x,y1,o)2022/10/749第49页,本讲稿共49页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁