matlab插值与拟合(命令与示例),matlab插值与拟合(命令与示例).doc

matlab插值与拟合(命令与示例)

目录

【一维插值】interp11

yi = interp1(x,y,xi,method)1

例11

例22

【二维插值】interp23

ZI = interp2(X,Y,Z,XI,YI,method)3

插值方式比较示例3

例33

例43

【三角测量和分散数据插值】3

【数据拟合】3

例53

例63

【一维插值】interp1

yi = interp1(x,y,xi,method)

例1

在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。

建立M文件temp.m

hours=1:12;

temps=[5 8 9 15 25 29 31 30 22 25 27 24];

h=1:0.1:12;

t=interp1(hours,temps,h,'spline');

plot(hours,temps,'kp',h,t,'b');

例2

已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。

建立M文件plane.m

x0=[0 3 5 7 9 11 12 13 14 15 ];

y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ];

x=0:0.1:15;

y1=interp1(x0,y0,x,'nearest');

y2=interp1(x0,y0,x);

y3=interp1(x0,y0,x,'spline');

plot(x0,y0,'kp',x,y1,'r')

plot(x0,y0,'kp',x,y2,'r')

plot(x0,y0,'kp',x,y3,'r')

【二维插值】interp2

ZI = interp2(X,Y,Z,XI,YI,method)

插值方式比较示例

用较大间隔产生peaks函数数据点

[x,y] = meshgrid(-3:1:3);

z = peaks(x,y);

surf(x,y,z)

产生一个较好的网格

[xi,yi] = meshgrid(-3:0.25:3);

利用最近邻方式插值

zi1 = interp2(x,y,z,xi,yi,'nearest');surf(xi,yi,zi1)

双线性插值方式

zi2 = interp2(x,y,z,xi,yi,'bilinear');surf(xi,yi,zi2)

双立方插值方式

zi3 = interp2(x,y,z,xi,yi,'bicubic');surf(xi,yi,zi3)

不同插值方式构造的等高线图对比

contour(xi,yi,zi1)

contour(xi,yi,zi2)

contour(xi,yi,zi3)

例3

测得平板表面3*5网格点处的温度分别为:

82 81 80 82 84

79 63 61 65 81

84 84 82 85 86

试作出平板表面的温度分布曲面z=f(x,y)的图形。

建立M文件wendu.m

xi=1:0.2:5;

yi=1:0.2:3;

zi=interp2(x,y,temps,xi',yi,'cubic');

mesh(xi,yi,zi);

例4

某山区测得一些地点的高度如下表所示,平面区域为,试作出该山区的地貌图和等高线图。比较几种插值方法。

建立M文件moutain.m

x=0:400:5600;

y=0:400:4800;

z=[370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;...

510 620 730 800 850 870 850 780 720 650 500 200 300 350 320;...

650 760 880 970 1020 1050 1020 830 900 700 300 500 550 480 350;...

740 880 1080 1130 1250 1280 1230 1040 900 500 700 780 750 650 550;...

830 980 1180 1320 1450 1420 1400 1300 700 900 850 840 380 780 750;...

880 1060 1230 1390 1500 1500 1400 900 1100 1060 950 870 900 930 950;...

910 1090 1270 15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值