生成轮廓给定X,Y和Z向量

时间:2009-11-14 09:51:52

标签: matlab

给定3个向量对,XYZ,如何生成轮廓?我知道我们需要使用contour图。但问题是我们需要为这个参数传入一个2x2矩阵,这可能是对应于每个X,Y对的Z矩阵。但这意味着在讨论轮廓生成之前,我必须首先使用griddata插值来创建这样的矩阵。

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

2 个答案:

答案 0 :(得分:4)

是。使用Tricontour工具。它可以在文件交换中找到(在Matlab Central上。)这可以直接进行轮廓绘制,而不必强制使用meshgrid和griddata。

答案 1 :(得分:-1)

MATLAB非常简洁地满足了你的这种需求。

您需要做的是使用meshgridXY向量进行二维化。这是一个简单的例子,演示如何生成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。 / p>