给定3向量对,X
,Y
和Z
,如何生成轮廓?我知道我们需要利用contour
图。但问题是我们需要为这个参数传递一个2x2矩阵,这大概是一个Z对应于每个X,Y对的矩阵。但是这意味着在谈论轮廓生成之前,我必须首先使用griddata
插值来进行额外的英里创建这样的矩阵。给定轮廓给定X,Y和Z向量
还有其他更简洁的方法吗?
给定3向量对,X
,Y
和Z
,如何生成轮廓?我知道我们需要利用contour
图。但问题是我们需要为这个参数传递一个2x2矩阵,这大概是一个Z对应于每个X,Y对的矩阵。但是这意味着在谈论轮廓生成之前,我必须首先使用griddata
插值来进行额外的英里创建这样的矩阵。给定轮廓给定X,Y和Z向量
还有其他更简洁的方法吗?
是的。使用Tricontour工具。它可以在文件交换中找到(在Matlab Central上)。这可以根据您的需要直接绘制轮廓,而不会强制您使用meshgrid和griddata。
MATLAB相当简洁地满足了你的这个需求。
您需要做的是使用meshgrid
来对您的X
和Y
向量进行二维化。下面是一个简单的例子来说明如何产生的z = sin (x^2 + x*y^2)
等高线图:
x = -10:0.1:10;
y = -10:0.1:10;
[x,y] = meshgrid(x,y);
z = sin(x.^2+x.*y.^2);
contour(x,y,z)
注意使用.^
和.*
符号的,这迫使MATLAB来进行z
矩阵的元素乘元素的评价,在过程中使其成为2D。
不幸的是,如果您有数据,如: x1,y1,z1; x2,y2,z2; x3,y3,z3; ... 并且您不知道z的功能。即几乎所有的真实数据。这没有帮助。 – Trojanian 2015-03-06 17:18:13
你知道如何使用三元组X,Y,Z的三元组吗? – adrianp 2012-03-31 14:55:26
@adrianp:我弄明白了吗?它使用相当东方,甚至微不足道。阅读帮助。你的问题是什么? – 2012-03-31 16:33:33