2009-11-14 75 views
1

给定3向量对,X,YZ,如何生成轮廓?我知道我们需要利用contour图。但问题是我们需要为这个参数传递一个2x2矩阵,这大概是一个Z对应于每个X,Y对的矩阵。但是这意味着在谈论轮廓生成之前,我必须首先使用griddata插值来进行额外的英里创建这样的矩阵。给定轮廓给定X,Y和Z向量

还有其他更简洁的方法吗?

回答

4

是的。使用Tricontour工具。它可以在文件交换中找到(在Matlab Central上)。这可以根据您的需要直接绘制轮廓,而不会强制您使用meshgrid和griddata。

+0

你知道如何使用三元组X,Y,Z的三元组吗? – adrianp 2012-03-31 14:55:26

+0

@adrianp:我弄明白了吗?它使用相当东方,甚至微不足道。阅读帮助。你的问题是什么? – 2012-03-31 16:33:33

-1

MATLAB相当简洁地满足了你的这个需求。

您需要做的是使用meshgrid来对您的XY向量进行二维化。下面是一个简单的例子来说明如何产生的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。

+1

不幸的是,如果您有数据,如: x1,y1,z1; x2,y2,z2; x3,y3,z3; ... 并且您不知道z的功能。即几乎所有的真实数据。这没有帮助。 – Trojanian 2015-03-06 17:18:13

相关问题