利用MATLABpeaks函数生成某山区的一些地点及其高度三维数据(单位:m)。命令格式:[x,y,z]=peaks(n),生成的n阶矩阵x,y,z为测量的山区地点三维数据(n>=30)。根据peaks函数生成的数据,利用Matlab二维插值画出该山区的地貌图和等值线图(提示函数:interp2meshgridplot3)

结果:(程序:sikao_2.m)

当n=10时

blob.png

当n=20时

blob.png

当n=30时

blob.png

当n=50时

blob.png

分析:由以上数据可见,在等分点n很低(n=10)的情况下,其插值效果均较差;而当插值点个数逐步增大后,插值函数与原函数越来越逼近。画出的山区地貌图也越来越光滑。


程序源码:

n=input('')
[x,y,z]=peaks(n);
[xi,yi]=meshgrid(-3:3/n:3);
zi=interp2(x,y,z,xi,yi,'spline');%spline   linear
surfc(xi,yi,zi);
title(['\fontsize{15}\bf 当N=',int2str(n),'时该山区的地貌图和等值线图']);
xlabel('\fontsize{10}\bf x');
ylabel('\fontsize{10}\bf y');
zlabel('\fontsize{10}\bf z');