Matlab / Octave中的轮廓

时间:2017-03-03 10:18:54

标签: matlab octave contour

我在理解轮廓时遇到了一些麻烦。

到目前为止我所理解的是contour是一种在二维平面中表示三维图形的方法。它通过绘制2个变量的函数作为曲线来实现,函数具有相同的值。

现在,如果我这样做:

z=[1 4; 10 7];
contour(z);

我明白了:

enter image description here

我阅读了文档,并说:

  

轮廓(Z)绘制矩阵Z的等高线图,其中Z被解释为   相对于x-y平面的高度。 Z必须至少为2乘2   包含至少两个不同值的矩阵。 x值   对应于Z的列索引,y值对应于   Z的行索引。自动选择轮廓水平。

因此适用于x=1,y=1: z=1x=2,y=1: z=4等。但是,我无法理解如何将其解释为上面显示的contour图。

如果我写:

contour(X1, X2, vals, [0.5 0.5], 'b');其中X1X2vals是相同大小的矩阵,vals是仅0 s和{{的矩阵1}}秒。我无法理解论证1的作用。我阅读了文件说明:

  

轮廓(Z,v)绘制矩阵Z的等高线图,轮廓线为   在单调递增的向量v。To中指定的数据值   在特定值处显示单个轮廓线,将v定义为a   两个元素向量,两个元素都等于所需的轮廓   水平。

我无法理解这句话。

1 个答案:

答案 0 :(得分:0)

第一个轮廓的问题是只有4个值。尝试像

这样的东西
x = 0:0.1:10;
y = 0:0.1:10;
z = sin(x') * cos(y);
contour(z)

对于第二件事,这意味着如果你想只看到特定的轮廓,请将它们输入为矢量v。在上面的例子中:

contour(z, [0.1, 0.2, 0.3]) 

将显示0.1,0.2和0.3的等高线。 要有一条轮廓线,你不能只有(z,0)但需要(z,[0,0])