欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章 数据插值与拟合PPT讲稿.ppt

    • 资源ID:43658128       资源大小:2.32MB        全文页数:49页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章 数据插值与拟合PPT讲稿.ppt

    第8章 数据插值与拟合2022/9/181第1页,共49页,编辑于2022年,星期一8.1 数据插值o一维数据的插值问题o二维网格数据的插值问题o二维一般分布数据的插值问题o高维插值问题2022/9/182第2页,共49页,编辑于2022年,星期一8.1.1 一维数据的插值问题ointerp1函数ospline函数olagrange插值ohermite插值2022/9/183第3页,共49页,编辑于2022年,星期一1、interp1函数interp1函数的调用格式:py=interp1(x0,y0,x,method)py=interp1(x0,y0,x,method,extrap)*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/9/184第4页,共49页,编辑于2022年,星期一1、interp1函数选择插值方法时主要考虑因素:运算时间、占用计算机内存和插值的光滑程度。运算时间占用计算机内存光滑程度临近点插值快少差线性插值稍长较多稍好三次样条插值最长较多最好立方插值较长多较好插值方法比较插值方法比较2022/9/185第5页,共49页,编辑于2022年,星期一例例:已知的数据点来自函数已知的数据点来自函数根据生成的数据进行插值处理,得出较平滑的曲线根据生成的数据进行插值处理,得出较平滑的曲线直接生成数据。直接生成数据。o数据点:数据点:x=0:0.12:1;y=(x.2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,x,y,o)2022/9/186第6页,共49页,编辑于2022年,星期一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误差分析 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/9/187第7页,共49页,编辑于2022年,星期一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/9/188第8页,共49页,编辑于2022年,星期一3、lagrange插值o方法介绍 对给定的n个插值点 及对应的函数值 ,利用构造的n-1次lagrange插值多项式,则对插值区间内任意x的函数值y可通过下式求的:2022/9/189第9页,共49页,编辑于2022年,星期一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/9/1810第10页,共49页,编辑于2022年,星期一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/9/1811第11页,共49页,编辑于2022年,星期一 许多实际插值问题中,为使插值函数能更好地许多实际插值问题中,为使插值函数能更好地和原来的函数重合,不但要求二者在节点上函数值和原来的函数重合,不但要求二者在节点上函数值相等,而且还要求相切,对应的导数值也相等,甚相等,而且还要求相切,对应的导数值也相等,甚至要求高阶导数也相等。这类插值称作切触插值,至要求高阶导数也相等。这类插值称作切触插值,或埃尔米特或埃尔米特(Hermite)插值。满足这种要求的插值多插值。满足这种要求的插值多项式就是埃尔米特插值多项式项式就是埃尔米特插值多项式4、埃尔米特插值(hermite插值)2022/9/1812第12页,共49页,编辑于2022年,星期一4、埃尔米特插值(hermite插值)o方法介绍 已知n个插值点 及对应的函数值 和一阶导数值 。则对插值区间内任意x的函数值y的Hermite插值公式:2022/9/1813第13页,共49页,编辑于2022年,星期一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;end2022/9/1814第14页,共49页,编辑于2022年,星期一例:利用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/9/1815第15页,共49页,编辑于2022年,星期一8.1.2 二维网格数据的插值问题二维插值函数interp2的调用格式:pzi=interp2(x0,y0,z0,xi,yi)pzi=interp2(x0,y0,z0,xi,yi,method)*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/9/1816第16页,共49页,编辑于2022年,星期一例 由二元函数获得一些较稀疏的网格数据,对整个函数曲面进行各种插值,并比较插值结果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,-0.7,1.5)8.1.2 二维网格数据的插值问题2022/9/1817第17页,共49页,编辑于2022年,星期一默认线性插值算法进行插值 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,2,-0.7,1.5)2022/9/1818第18页,共49页,编辑于2022年,星期一算法误差的比较算法误差的比较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/9/1819第19页,共49页,编辑于2022年,星期一8.1.3 二维一般分布数据的插值问题griddata函数的调用格式:pz=griddata(x0,y0,z0,x,y,method)method=v4:插值算法,公认效果较好:插值算法,公认效果较好*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=cubic2022/9/1820第20页,共49页,编辑于2022年,星期一例 在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)%样本点的二维分布 figure,plot3(x,y,z,x),axis(-3,3,-2,2,-0.7,1.5),grid2022/9/1821第21页,共49页,编辑于2022年,星期一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.*y1);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/9/1822第22页,共49页,编辑于2022年,星期一8.1.4 高维插值问题u三维插值三维插值interp3函数的调用格式:函数的调用格式:三维网格三维网格 x,y,z=meshgrid(x1,y1,z1)griddata3()三维非网格数据插值三维非网格数据插值un维插值维插值interpn函数函数un维网格维网格 x1,x2,xn=ndgridv1,v2,vnugriddatan()n维非网格数据插值维非网格数据插值uinterp3()、interpn()调用格式同调用格式同interp2()一致一致ugriddata3()、griddatan()调用格式同调用格式同griddata()一致一致2022/9/1823第23页,共49页,编辑于2022年,星期一例:通过函数生成一些网格型样本点,据此进行插值并给出插值误差。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(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/9/1824第24页,共49页,编辑于2022年,星期一8.2 数据拟合o多项式拟合o函数线性组合的曲线拟合方法o最小二乘曲线拟合2022/9/1825第25页,共49页,编辑于2022年,星期一p多项式标准形式:p多项式拟合函数polyfit,其调用格式 p=polyfit(x,y,n)其中 x和y为原始样本点构成的向量 n为多项式的阶次 p为多项式系数按降幂排列得到的向量8.2.1 多项式拟合2022/9/1826第26页,共49页,编辑于2022年,星期一三次多项式拟合三次多项式拟合 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/9/1827第27页,共49页,编辑于2022年,星期一绘制拟合曲线:绘制拟合曲线:x=0:.01:1;ya=(x.2-3*x+5).*exp(-5*x).*sin(x);y1=polyval(p3,x);plot(x,y1,x,ya,x0,y0,o)2022/9/1828第28页,共49页,编辑于2022年,星期一不同次数进行拟合:不同次数进行拟合: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/9/1829第29页,共49页,编辑于2022年,星期一拟合次数为拟合次数为8的多项式:的多项式:vpa(poly2sym(p8),5)ans=-8.2586*x8+43.566*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多项式表示数据模型是不唯一的,即是两个多项式函数完全不同。在多项式表示数据模型是不唯一的,即是两个多项式函数完全不同。在某一区域内其曲线可能特别近似。某一区域内其曲线可能特别近似。2022/9/1830第30页,共49页,编辑于2022年,星期一编制程序编制程序 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,:)例:对例:对 多项式拟合,多项式拟合,多项式拟合的效果并不一定总是很精确的。多项式拟合的效果并不一定总是很精确的。2022/9/1831第31页,共49页,编辑于2022年,星期一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/9/1832第32页,共49页,编辑于2022年,星期一8.2.2 函数线性组合的曲线拟合方法已知某函数的线性组合为:g(x)=c1f1(x)+c2f2(x)+cnfn(x)其中f1(x),f2(x),cnfn(x)为已知函数,c1,c2,cn为待定系数假设已经测出数据(x1,y1),(x2,y2),(xm,ym),则可建立如下的线性方程:Ac=y2022/9/1833第33页,共49页,编辑于2022年,星期一2022/9/1834第34页,共49页,编辑于2022年,星期一例 假设测出一组实验数据(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.5y2.19792.54092.96273.1553.20522022/9/1835第35页,共49页,编辑于2022年,星期一拟合拟合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/9/1836第36页,共49页,编辑于2022年,星期一图形显示 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/9/1837第37页,共49页,编辑于2022年,星期一例例 对下列实验数据进行函数拟合对下列实验数据进行函数拟合已知数据点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.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/9/1838第38页,共49页,编辑于2022年,星期一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(c(2)ans=0.76872022/9/1839第39页,共49页,编辑于2022年,星期一例 对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*x2+4.9869*x+.42037e-62022/9/1840第40页,共49页,编辑于2022年,星期一8.2.3 最小二乘曲线拟合有一组数据xi,yi(i=1,2,N)满足某一函数原型 ,其中a为待定系数向量,求出一组待定系数的值使得目标函数最小:2022/9/1841第41页,共49页,编辑于2022年,星期一最小二乘曲线拟合函数lsqcurvefit的调用格式:p a,Jm=lsqcurvefit(Fun,a0,x,y)pFun为为原原型型函函数数的的matlab表表示示,可可以以是是M-函函数数或或inline()函数函数pa0为最优化初值为最优化初值px和和y为原始输入输出数据向量为原始输入输出数据向量pa为返回的待定系数向量为返回的待定系数向量pJm为在待定系数下目标函数的值为在待定系数下目标函数的值2022/9/1842第42页,共49页,编辑于2022年,星期一例 由下面语句生成一组数据,其中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/9/1843第43页,共49页,编辑于2022年,星期一求解待定系数向量求解待定系数向量xx,res=lsqcurvefit(f,1,1,1,1,1,x,y);xx,resans=0.1197 0.2125 0.5404 0.1702 1.2300res=7.1637e-0072022/9/1844第44页,共49页,编辑于2022年,星期一修改最优化选项:修改最优化选项: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/9/1845第45页,共49页,编辑于2022年,星期一绘制曲线:绘制曲线:x1=0:0.01:10;y1=f(xx,x1);plot(x1,y1,x,y,o)2022/9/1846第46页,共49页,编辑于2022年,星期一例 已知数据可能满足求满足数据的最小二乘解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/9/1847第47页,共49页,编辑于2022年,星期一编写函数编写函数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/9/1848第48页,共49页,编辑于2022年,星期一绘制曲线:绘制曲线:y1=c8f3(a,x);plot(x,y,x,y1,o)2022/9/1849第49页,共49页,编辑于2022年,星期一

    注意事项

    本文(第8章 数据插值与拟合PPT讲稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开