2013-04-08 51 views
2

我有三個矢量,X,Y和Z.所有長度相等(20000,1)。我想在三維圖中繪製所有三個圖。我曾嘗試使用surfplot3,但無濟於事,因爲它們需要Z的大小(20000,20000)。任何人都可以幫忙嗎? TIA具有3個相同大小的矢量的3D圖形的matlab

X = DAT(3,:); 

Y = DAT(4,:); 

Z = DAT(11,:); 

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

surf(x,y,Z); 
+0

當你說你想要在三維圖中繪製所有三個圖,你的意思是你想在每個[x,y,z]的圖中單個點?如果是這樣,你可以使用'plot3(X,Y,Z)'。 – 2013-04-08 14:40:09

+0

這確實有效,但理想情況下,我想衝浪的工作,因爲它更容易在眼睛上。 – mallow 2013-04-08 14:53:26

回答

2

你試過griddataTriScatteredInterp創建一個插值表面?

1

不! plot3不需要Z.如果你只想繪製一個點集,那麼plot3就是你想要的。

plot3(X,Y,Z,'.')

的一點是,沒有必要使用meshgridplot3。事實上,沒有必要使用meshgrid,因爲您已經嘗試過使用surf。 (如果您打電話給griddata,則需要meshgrid,但是對於SMALLER網格。)

如果您需要曲面圖,那麼您需要創建曲面。如果點分散,那麼您的基本選項是triscatteredinter,griddatagridfit這樣的工具,這是文件交換的最後一個。

相關問題