第8章 数据插值与拟合PPT讲稿.ppt
《第8章 数据插值与拟合PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第8章 数据插值与拟合PPT讲稿.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第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)*临近点插
2、值:临近点插值:method=nearest*线性插值:线性插值:method=linear*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/9/184第4页,共49页,编辑于2022年,星期一1、interp1函数选择插值方法时主要考虑因素:运算时间、占用计算机内存和插值的光滑程度。运算时间占用计算机内存光滑程度临近点插值快少差线性插值稍长较多稍好三次样条插值最长较多最好立方插值较长多较好插值方法比较插值方法比较2022/9/185第5页,共49页,编辑于2022年,星期一例例:已知的数据点来自函数已知的数据点来
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/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=in
4、terp1(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).*
5、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
6、=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
7、,ya,x,y1,:,x,y2,-)3、lagrange插值例:对例:对 进行进行Lagrange插值插值2022/9/1811第11页,共49页,编辑于2022年,星期一 许多实际插值问题中,为使插值函数能更好地许多实际插值问题中,为使插值函数能更好地和原来的函数重合,不但要求二者在节点上函数值和原来的函数重合,不但要求二者在节点上函数值相等,而且还要求相切,对应的导数值也相等,甚相等,而且还要求相切,对应的导数值也相等,甚至要求高阶导数也相等。这类插值称作切触插值,至要求高阶导数也相等。这类插值称作切触插值,或埃尔米特或埃尔米特(Hermite)插值。满足这种要求的插值多插值。满足这种要求
8、的插值多项式就是埃尔米特插值多项式项式就是埃尔米特插值多项式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
9、 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.3
10、4)与精确值比较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页,共
11、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,z
12、1),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,
13、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*立方插值:立方插值:meth
14、od=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=mes
15、hgrid(-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
16、,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()调用格式同调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 数据插值与拟合PPT讲稿 数据 拟合 PPT 讲稿
限制150内