matlab等高线图的初级问题
set和get是设置和获得句柄对象属性值的函数。
用法是set(句柄,属性1,属性值,属性2,属性值,……)
属性值=get(句柄,属性)
h是句柄,这里就是指向某等高线图的句柄。你可以用get(h)看到其所有属性的属性值。
showtext、textstep、levelstep是该对象的属性。
ShowText为on就是显示等高线的值,off就是不显示等高线的值,默认为off。
LevelStep为m就是显示值为m的倍数的等高线,显然m越大,所绘制的等高线就越稀疏。
TextStep为n就是显示值为n的倍数的等高线的值,其它等高线的值不显示。
因此
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)就是令句柄h所指的等高线图显示值为LevelStep的2倍的值,就是让画出来的等高线不是每一条都显示值,而是一条隔一条地显示
用matlab 画等高线
d=[129.0 7.5 1.34
140.0 141.5 2.67
103.5 23.0 2.00
88.0 147.0 2.67
185.5 22.5 2.00
195.0 137.5 2.67
105.5 88.5 2.67
157.5 -6.5 3.0
1.07 -81.0 3.0
77.0 3.0 2.67
81.0 56.5 2.67
162.0 -66.5 3.0
162.0 84.0 1.34
117.5 -33.5 3.0];
x=d(:,1);
y=d(:,2);
z=d(:,3);
nx=linspace(min(x),max(x),10);
ny=linspace(min(y),max(y),10);
[xx,yy]=meshgrid(nx,ny);
zz=griddata(x,y,z,xx,yy,'v4');
contour(xx,yy,zz)
数据太少,误差太大。上面那个nx,ny建议再取小一些。

