2011-05-06 117 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