我有一个数据排列在三列的文件。我正在尝试制作这些值的2D等值线图,其中第三列(Z)中的值投影在由第一列(X)和第二列(Y)中的值形成的空间上。但通常的matlab命令如' contour'和' imagesc'以矩阵格式取Z值。在Matlab中是否有出路在2D平面上绘制这些值?
答案 0 :(得分:0)
轮廓通常适用于两个矢量(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)