用MATLAB作函数插值教材_第1页
用MATLAB作函数插值教材_第2页
用MATLAB作函数插值教材_第3页
用MATLAB作函数插值教材_第4页
用MATLAB作函数插值教材_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一维插值函数:yi=interp1(x,y,xi,'method')插值方法被插值点插值节点xi处的插值结果‘nearest’

:最邻近插值‘linear’

:线性插值;‘spline’

:三次样条插值;‘cubic’

:立方插值。缺省时:分段线性插值。注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。用MATLAB作函数插值

例:在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。hours=1:12;temps=[589152529313022252724];h=1:0.1:12;t=interp1(hours,temps,h,'spline');(直接输出数据将是很多的)plot(hours,temps,'+',h,t,hours,temps,'r:')%作图xlabel('Hour'),ylabel('DegreesCelsius’)

xy机翼下轮廓线例已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。x0=[035791112131415];y0=[01.21.72.02.12.01.81.21.01.6];x=0:0.1:15;y1=lagr1(x0,y0,x);y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,'spline');subplot(3,1,1)plot(x0,y0,'k+',x,y1,'r')gridtitle('lagrange')subplot(3,1,2)plot(x0,y0,'k+',x,y2,'r')gridtitle('piecewiselinear')subplot(3,1,3)plot(x0,y0,'k+',x,y3,'r')gridtitle('spline')

要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围。z=interp2(x0,y0,z0,x,y,’method’)被插值点插值方法用MATLAB作网格节点数据的插值插值节点被插值点的函数值‘nearest’

最邻近插值‘linear’

双线性插值‘cubic’

双三次插值缺省时,双线性插值例:测得平板表面3*5网格点处的温度分别为:828180828479636165818484828586试作出平板表面的温度分布曲面z=f(x,y)的图形。输入以下命令:x=1:5;y=1:3;temps=[8281808284;7963616581;8484828586];mesh(x,y,temps)2.以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.1.先在三维坐标画出原始数据,画出粗糙的温度分布曲面图.再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,'cubic');mesh(xi,yi,zi)画出插值后的温度分布曲面图.ToMATLAB(wendu)

通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较。x=0:400:5600;y=0:400:4800;z=[370470550600670690670620580450400300100150250;...510620730800850870850780720650500200300350320;...650760880970102010501020830900700300500550480350;...740880108011301250128012301040900500700780750650550;...830980118013201450142014001300700900850840380780750;...88010601230139015001500140090011001060950870900930950;...9101090127015001200110013501450120011501010880100010501100;...9501190137015001200110015501600155013801070900105011501200;...143014301460150015501600155016001600160015501500150015501550;...1420143014501480150015501510143013001200980850750550500;...138014101430145014701320128012001080940780620460370350;...13701390141014301440114011101050950820690540380300210;...13501370139014001410960940880800690570430290210150];主程序:moutain.mfigure(1);meshz(x,y,z)xlabel('X'),ylabel('Y'),zlabel('Z')xi=0:50:5600;yi=0:50:4800;figure(2)z1i=interp2(x,y,z,xi,yi','nearest');surfc(xi,yi,z1i)xlabel('X'),ylabel('Y'),zlabel('Z')figure(3)z2i=interp2(x,y,z,xi,yi');surfc(xi,yi,z2i)xlabel('X'),ylabel('Y'),zlabel('Z')figure(4)z3i=interp2(x,y,z,xi,yi','cubic');surfc(xi,yi,z3i)xlabel('X'),ylabel('Y'),zlabel('Z')figure(5)subplot(1,3,1),contour(xi,yi,z1i,10,'r');subplot(1,3,2),contour(xi,yi,z2i,10,'r');subplot(1,3,3),contour(xi,yi,z3i,10,'r');

插值函数griddata格式为:

cz

=griddata(x,y,z,cx,cy,‘method’)用MATLAB作散点数据的插值计算

要求cx取行向量,cy取为列向量。被插值点插值方法插值节点被插值点的函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论