2014-09-19 44 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