主题:[讨论]如何用MATLAB画等高线
houlin
[专家分:30] 发布于 2006-03-30 16:58:00
请问各位大虾,如何用MATLAB画等高线
如已知20个点坐标X,Y及对应的高程,如何画呢?
数据如下
x
0
0
5.25
5.25
5.25
8.83
8.83
y
2.083
2.883
0.245
1.045
2.045
0.55
1.35
高程
3.22
3.99
4.4467
2.6333
3.5367
4.2567
2.85
我也用了函数contour,不过高程矩阵Z怎么定义啊
回复列表 (共7个回复)
沙发
lt1129 [专家分:30] 发布于 2006-03-31 15:49:00
contour(Z,n)--------绘制n条等高线
C= contourc(Z,n)------计算n条等高线的坐标
Clable(c)------给等高线加标注
例、在二维平面上绘制peaks函数的10条等
高线
contour(peaks,10);
C=contourc(peaks,10);clabel(C)
板凳
houlin [专家分:30] 发布于 2006-04-03 16:41:00
楼上,你说的仅是书上的函数,具体用你这些函数结合我的数据怎么能画出我要的等值线啊?
3 楼
zf2280 [专家分:0] 发布于 2007-11-07 21:19:00
[quote]contour(Z,n)--------绘制n条等高线
C= contourc(Z,n)------计算n条等高线的坐标
Clable(c)------给等高线加标注
例、在二维平面上绘制peaks函数的10条等
高线
contour(peaks,10);
C=contourc(peaks,10);clabel(C)
[/quote]
具体怎么用你这些函数结合这些数据怎么能画出等值线啊?
4 楼
allocate [专家分:540] 发布于 2007-11-10 01:41:00
7个点就画等高线啊?而且各自的z还不一样?
5 楼
mikle [专家分:390] 发布于 2008-04-01 21:16:00
xmax = max(x);
xmin = min(x);
xi0 = xmin:0.1:xmax;
%
ymax = max(y);
ymin = min(y);
yi0 = ymin:0.1:ymax;
%
[xi,yi]=meshgrid(xi0,yi0);
[xi,yi,zi]=griddata(x,y,z,xi,yi,'cubic');
mesh(xi,yi,zi);
6 楼
mikle [专家分:390] 发布于 2008-04-01 21:16:00
[C,h] = contour(xi,yi,zi);
grid on
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2);
7 楼
mzxfq [专家分:0] 发布于 2008-12-16 11:28:00
我也有类似的问题,请高手指点
我来回复