第8章 数据插值与拟合优秀PPT.ppt
《第8章 数据插值与拟合优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第8章 数据插值与拟合优秀PPT.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第8章 数据插值与拟合2022/12/51现在学习的是第1页,共49页8.1 数据插值o一维数据的插值问题o二维网格数据的插值问题o二维一般分布数据的插值问题o高维插值问题2022/12/52现在学习的是第2页,共49页8.1.1 一维数据的插值问题ointerp1函数ospline函数olagrange插值ohermite插值2022/12/53现在学习的是第3页,共49页1、interp1函数interp1函数的调用格式:py=interp1(x0,y0,x,method)py=interp1(x0,y0,x,method,extrap)*临近点插值:临近点插值:method=neares
2、t*线性插值:线性插值:method=linear*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/12/54现在学习的是第4页,共49页1、interp1函数选择插值方法时主要考虑因素:运算时间、占用计算机内存和插值的光滑程度。运算时间占用计算机内存光滑程度临近点插值快少差线性插值稍长较多稍好三次样条插值最长较多最好立方插值较长多较好插值方法比较插值方法比较2022/12/55现在学习的是第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/12/56现在学习的是第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,
4、:,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/12/57现在学习的是第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,x
5、x,yy)2、spline函数2022/12/58现在学习的是第8页,共49页3、lagrange插值o方法介绍 对给定的n个插值点 及对应的函数值 ,利用构造的n-1次lagrange插值多项式,则对插值区间内任意x的函数值y可通过下式求的:2022/12/59现在学习的是第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)
6、/prod(x0(i)-x0(ij);end2022/12/510现在学习的是第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/12/511现在学习的是
7、第11页,共49页 许多实际插值问题中,为使插值函数能更好地许多实际插值问题中,为使插值函数能更好地和原来的函数重合,不但要求二者在节点上函数值和原来的函数重合,不但要求二者在节点上函数值相等,而且还要求相切,对应的导数值也相等,甚相等,而且还要求相切,对应的导数值也相等,甚至要求高阶导数也相等。这类插值称作切触插值,至要求高阶导数也相等。这类插值称作切触插值,或埃尔米特或埃尔米特(Hermite)插值。满足这种要求的插值多插值。满足这种要求的插值多项式就是埃尔米特插值多项式项式就是埃尔米特插值多项式4、埃尔米特插值(hermite插值)2022/12/512现在学习的是第12页,共49页4、
8、埃尔米特插值(hermite插值)o方法介绍 已知n个插值点 及对应的函数值 和一阶导数值 。则对插值区间内任意x的函数值y的Hermite插值公式:2022/12/513现在学习的是第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)*
9、(2*a*y0(i)-y1(i)+y0(i);end y(k)=yy;end2022/12/514现在学习的是第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/12/515现在学习的是第15页,共49页8.1.2 二维网格数据的插值问题二维插值函数interp2的调用格式:pzi=int
10、erp2(x0,y0,z0,xi,yi)pzi=interp2(x0,y0,z0,xi,yi,method)*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=pchip or cubic2022/12/516现在学习的是第16页,共49页例 由二元函数获得一些较稀疏的网格数据,对整个函数曲面进行各种插值,并比较插值结果o绘制已知数据的网格图 x,y=meshgrid(-3:0.6:3,-2:0.4:2);z=(x.2-2*x)
11、.*exp(-x.2-y.2-x.*y);surf(x,y,z);axis(-3,3,-2,2,-0.7,1.5)8.1.2 二维网格数据的插值问题2022/12/517现在学习的是第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,
12、3,-2,2,-0.7,1.5)figure;surf(x1,y1,z2),axis(-3,3,-2,2,-0.7,1.5)2022/12/518现在学习的是第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/12/519现在学习的是第19页,共49页8.1.3 二维一般分布数据的插值问题griddata函数的调用格式:pz=gr
13、iddata(x0,y0,z0,x,y,method)method=v4:插值算法,公认效果较好:插值算法,公认效果较好*临近点插值:临近点插值:method=nearest*线性插值:线性插值:method=linear (缺省算法)(缺省算法)*三次样条插值:三次样条插值:method=spline*立方插值:立方插值:method=cubic2022/12/520现在学习的是第20页,共49页例 在x为-3,3,y为-2,2矩形区域随机选择一组数据点,用 v4 与cubic插值法进行处理,并对误差进行比较。已知数据点 x=-3+6*rand(200,1);y=-2+4*rand(200,
14、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/12/521现在学习的是第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);ax
15、is(-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/12/522现在学习的是第22页,共49页8.1.4 高维插值问题u三维插值三维插值interp3函数的调用格式:函数的调用格式:三维网格三维网格 x,y,z=meshgrid(x1,y1,z1)griddata3()三维非网格数据插值三维非网格数据插值un维插值维插
16、值interpn函数函数un维网格维网格 x1,x2,xn=ndgridv1,v2,vnugriddatan()n维非网格数据插值维非网格数据插值uinterp3()、interpn()调用格式同调用格式同interp2()一致一致ugriddata3()、griddatan()调用格式同调用格式同griddata()一致一致2022/12/523现在学习的是第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.*
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 数据插值与拟合优秀PPT 数据 拟合 优秀 PPT
限制150内