2014-09-19 68 views
1

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]; 

我使用MATLAB中的命令 “(X,Y,Z)冲浪” 绘制的面积Z。我:

enter image description here

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

+2

要确定个别点,您可以在图片中绘制它们。也许尝试:*坚持; plot3(2,0.2,12, 'RO')*。另外,您可以将标签添加到图中:* xlabel('x'); ylabel( 'Y'); zlabel('z')* – zinjaai 2014-09-19 12:08:05

回答

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个点,这些都是根据与该组的4,其根据doc表面的最低z值所施加的颜色映射绘制和区域其间,彩色身高

实际上这将是清洁的编码,如果你想包括前后情节以下行:

[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这个函数可以为你做,但其他的绘图函数可能并不那么宽容。

+2

是的,我将它包括在内,颜色由最低或最低值的“表面高度”决定。 – thewaywewalk 2014-09-19 12:17:29

+0

但是为什么你选择plot3(2,0.2,12,'ro')。为什么不是其他人? – Christina 2014-09-19 12:27:29

+2

因为你要求吗? – thewaywewalk 2014-09-19 12:27:59