回 帖 发 新 帖 刷新版面

主题:[讨论]如何用MATLAB画等高线


请问各位大虾,如何用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个回复)

沙发

contour(Z,n)--------绘制n条等高线
C= contourc(Z,n)------计算n条等高线的坐标
Clable(c)------给等高线加标注
例、在二维平面上绘制peaks函数的10条等
       高线
contour(peaks,10);
C=contourc(peaks,10);clabel(C)

板凳

楼上,你说的仅是书上的函数,具体用你这些函数结合我的数据怎么能画出我要的等值线啊?

3 楼

[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 楼

7个点就画等高线啊?而且各自的z还不一样?

5 楼

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 楼

[C,h] =  contour(xi,yi,zi);
 grid on
 set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2);

7 楼

我也有类似的问题,请高手指点

我来回复

您尚未登录,请登录后再回复。点此登录或注册