2013-01-04 41 views

回答

1

第三個參數應,在這種情況下,是尺寸(長度ARG1)×(長度ARG2)的基質中。

你會期望plot3d表現得像plotplot2d的延伸,但事實並非如此。

的2D圖需要x的矢量和在(X1,Y1)的y和繪製點的向量,(X2,Y2)等,加入了與行數或者每樣式設置不是。這符合我們通常用於二維圖的概念模型 - 在大多數情況下(y = f(x)),將一件事的關係繪製爲另一件事的函數。還有其他方法可以使用二維圖:散點圖很常見,但使用兩行數據概念生成一個圖很容易。

這並不順利延伸到3d雖然因爲還有很多其他的方法可以使用3D繪圖來表示數據。如果你給了它三個座標向量,並要求它在它們之間畫出一條線,那麼我們可能想要用它來做什麼?這是使用3d圖的最有用的方法嗎?

大多數軟件包爲不同種類的數據提供不同的可視化類型。 Mathematica有很多三維可視化類型,Python/Scipy/Mayavi2有更多。 Matlab也有一個數字,但是Scilab在正常情況下對Matlab進行鏡像,在這種情況下,它更喜歡用plot3d函數處理它。

我覺得它像一個等高線圖:你給它x的矢量和Y的一個載體,並使用這些創造的(X,Y)點的網格。第三個參數是一個矩陣,其維數與保持每個點的z座標的(x,y)網格的維度相匹配。在docs第一個例子做什麼,我認爲你是後:

t=[0:0.3:2*%pi]'; 
z=sin(t)*cos(t'); 
plot3d(t,t,z); 

第一行創建長度的列向量21

-->size(t) 
ans = 

    21. 1. 

第二行計算的產品21×21矩陣sin(t)與cos(t)的置換 - 請注意cos(t')元素中的轉置。

-->size(z) 
ans = 

    21. 21. 

然後,當他們繪製它繪製(X1,Y1,Z11),(X1,Y2,X12),(X2,Y2,Z22)等。它在網格中的相鄰點之間繪製線條,或者不繪製線條,或者僅繪製曲面。

相關問題