利用MATLAB的peaks函数生成某山区的一些地点及其高度三维数据(单位:m)。命令格式:[x,y,z]=peaks(n),生成的n阶矩阵x,y,z为测量的山区地点三维数据(n>=30)。根据peaks函数生成的数据,利用Matlab二维插值画出该山区的地貌图和等值线图(提示函数:interp2、meshgrid、plot3等)。
结果:(程序:sikao_2.m)
当n=10时
当n=20时
当n=30时
当n=50时
分析:由以上数据可见,在等分点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');