13600148015001550320015001550160028001500120011002400150012001100200013901500150016001320145014201200113012501280Yx12001600200015114301300 12009801551600 1600 1600 15501551600 1550 1380 10701351450 1200 1150 1010140901100 1060950140130070090085012301040900500700240028003200 3600 4000山区地貌问题:在某山区测得一些地点的高程如下表。(平面区域为:1200<=x<=4000,1200<=y<=3600)。试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。解:x0=1200:400:4000;y0=1200:400:3600;z0=[1130,1250,1280,1230,1040,900,500,700;1320,1450,1420,1400,1300,700,900,850;1390,1500,1500,1400,900,1100,1060,950;1500,1200,1100,1350,1450,1200,1150,1010;1500,1200,1100,1550,1600,1550,1380,1070;1500,1550,1600,1550,1600,1600,1600,1550;1480,1500,1550,1510,1430,1300,1200,980];meshc(x0,y0,z0)xlabel('x');ylabel('y');zlabel('z')title('原始图')21600120100z80yx原始1406040030020020010001000300400'<■■40001)分段线性插值输入命令:[xi2,yi2]=meshgrid(1200:10:4000,1200:10:3600);zi2=interp2(x0,y0,z0,xi2,yi2,'linear');meshc(xi2,yi2,zi2)xlabel('x');3ylabel('y');zlabel('z')title('插值后')(2)三次样条插值输入命令:[xi,yi]=meshgrid(1200:10:4000,1200:10:3600);zi=interp2(x0,y0,z0,xi,yi,'spline');meshc(xi,yi,zi),title('三次样条插值表面图’)xlabel('x');ylabel('y');zlabel('z')y10001000双三次20050040003000300200200040g1000.15三次样条插值表面2000500403000302002000400010001000N1000.4(3)双三次插值输入命令:[xi,yi]=meshgrid(1200:10:4000,1200:10:3600);zi=interp2(x0,y0,z0,xi,yi,'cubic');meshc(xi,yi,zi),title('双三次插值后的表面图')xlabel('x 轴');ylabel('y 轴’);zlabel('z 轴')4)画等高线图:n=9;pcolor(x0,y0,z0)shadinginterpzmax=max(max(z0));zmin=min(min(z0));caxis([zmin,zmax])colorbarholdonC=contour(x0,y0,z0,n,'k:');clabel(C)title('未拟合图形')holdoff5未拟合图形pcolor(xi,yi,zi)shadinginterpzmax1=max(max(zi));zmin1=min(min(zi));caxis([zmin1,zmax1])colorbarholdonC=contour(xi,yi,zi,n,'k:');clabel(C)title('拟合图形')6holdoff相应的图形中都画出了地貌图和等高线,在以上的三种插值方法中,最为精确的要属双三次插值方法,可能在间隔取值较小时,它与三次样条插值所绘出的图形差异不大,不很明显。