在matlab中绘制二维平面中的三列变量



我有一个文件,其中的数据排列在三列中。我试图绘制这些值的2D等高线图,其中第三列(Z)中的值投影在由第一列(X)和第二列(Y)中的数值形成的空间上。但通常的matlab命令,如"contour"one_answers"imagesc",采用矩阵格式的Z值。在Matlab中有没有办法在2D平面中绘制这些值?

Contour通常使用两个向量(X和Y)和一个矩阵(Z)。因此,对于两个向量(X(i),Y(i))的每个元素,矩阵(Z(i,j))中都应该有一个值。因此,矩阵Z的大小应该等于第一向量(X)的大小乘以第二向量(Y)的大小。

如果x,y,z的大小相同,那么你可以这样做:

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

另一方面,如果你设法使尺寸正确,那么你可以做这样的事情:

x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
figure
contour(X,Y,Z)

最新更新