给定3个向量对,X
,Y
和Z
,如何生成轮廓?我知道我们需要使用contour
图。但问题是我们需要为这个参数传入一个2x2矩阵,这可能是对应于每个X,Y对的Z矩阵。但这意味着在讨论轮廓生成之前,我必须首先使用griddata
插值来创建这样的矩阵。
还有其他更简洁的方法吗?
答案 0 :(得分:4)
是。使用Tricontour工具。它可以在文件交换中找到(在Matlab Central上。)这可以直接进行轮廓绘制,而不必强制使用meshgrid和griddata。
答案 1 :(得分:-1)
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。 / p>