了解3D曲面图

时间:2014-09-19 11:56:54

标签: matlab plot matlab-figure

this link一样,我有:

      | 0.1  0.2  0.3  0.4
    ----------------------
    1 | 10   11   12   13
    2 | 11   12   13   14
    3 | 12   13   14   15
    4 | 13   14   15   16

    Y = [0.1 0.2 0.3 0.4];
    X = [1 2 3 4];
    Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];

我使用命令" surf(X,Y,Z)"绘制表面Z.在matlab中。我得到了:

enter image description here

但实际上我并不了解绘制的表面。有人可以向我详细解释(在文本中)这个表面会发生什么吗?例如:我们如何观察点(2,0.2,12)?

1 个答案:

答案 0 :(得分:5)

包含一些标签和颜色条,一切都应该清晰:

Y = [0.1 0.2 0.3 0.4];
X = [1 2 3 4];
Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];

surf(X,Y,Z)
colorbar
xlabel('X')
ylabel('Y')
zlabel('Z')

根据评论中的建议,您可以通过添加以下内容找到您的观点:

hold on;
plot3(2,0.2,12,'ro','MarkerSize',10,'MarkerFaceColor','r');
然后它显示为红点。

enter image description here

您的表格包含16个点,这些点被绘制,其间的区域根据应用的色彩图进行着色,其中组的最低z值为4,这是根据doc 表面高度

如果您在情节之前包含以下行,实际上它会更清晰:

[X,Y] = meshgrid(X,Y);

这样所有输入变量都具有相同的尺寸:

X =
     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4

Y =
          0.1          0.1          0.1          0.1
          0.2          0.2          0.2          0.2
          0.3          0.3          0.3          0.3
          0.4          0.4          0.4          0.4

Z =
    10    11    12    13
    11    12    13    14
    12    13    14    15
    13    14    15    16

如果surf函数会为您执行此操作,但其他绘图函数可能无法容忍。