2011-05-06 118 views
1

我想了解2D數據如何與Z軸來獲得3D繪圖3D繪圖與給定的2D數據

讓我們說,我有x=[-1:0.1:1],矢量

y=[1 2 3 4 5 4 3 2 1 0]

y Vs x的圖將具有5的峯值並且在x = 0.5處向下傾斜到兩側如何將這些數據與3d關聯以獲得具有類似特徵的鐘形表面。

+1

你不能繪製你的'x' VS'y'。他們有不同的長度。 – 2011-05-07 06:37:46

回答

3

您可以查看作爲單個變量的函數的線條/曲線圖,y=f(x),通常,xy都是矢量。對於例如,可以繪製高斯鐘形曲線作爲

x=linspace(-3,3,1000); 
y=exp(-x.^2/2); 
plot(x,y) 

的表面圖,另一方面,是兩個變量,z=f(x,y)其中xy可以是矢量或矩陣和z的函數的矩陣。 meshgrid是一個非常方便的功能,通過適當的複製從1D矢量生成2D xy陣列。

這是您繪製無論是作爲2D圖像(的z值由顏色表示)的z矩陣或三維圖(的z值被表示爲沿z軸的高度)。對於例如,一個3D高斯鐘形曲線可以被繪製成

x=linspace(-3,3,1000);y=x';    %' 
[X,Y]=meshgrid(x,y); 
z=exp(-(X.^2+Y.^2)/2); 
surf(x,y,z);shading interp 

這是各自的情節應該如何看起來像

enter image description here