Plot:解释输出

时间:2015-03-18 08:56:53

标签: matlab octave

我在Octave尝试一个简单的情节:

>> y = [ 1 1 1 ; 0 1 0]
y =

   1   1   1
   0   1   0

>> plot(.1:.1:.2,y,'b')

我得到以下输出:

我无法理解绘图输出 - 其中y是1,1,1,0,1,0的值是绘制的,为什么有对角线渲染?

enter image description here

当我尝试差异组合时,例如:

>> y = [ 1 0 0 ; 0 1 0]
y =

   1   0   0
   0   1   0

>> plot(.1:.1:.2,y,'b')

绘图如下:

enter image description here

>> y = [ 1 0 0 ; 0 1 0 ; 0 0 1]
y =

   1   0   0
   0   1   0
   0   0   1

>> plot(.1:.1:.3,y,'b')

enter image description here

我们如何根据提到的y值来推断绘图图表?

2 个答案:

答案 0 :(得分:6)

绘图函数的工作原理:你给出一些x值和相同数量的y值,然后绘制它们。

但是,您也可以给plot多个y数组,这样就可以绘制多个具有相同x值的函数。

在您的第一个图中,您正在绘制3个函数:

plot([0.1 0.2], [1 0])
plot([0.1 0.2], [1 1])
plot([0.1 0.2], [0 1])

在图中有3个图,但是,你的轴太紧,你看不到它们,因为一个是水平线而另一个是垂直线。如果你写axis([0 0.3 -1 2]),你会看到三行。你的其他情节也会发生同样的事情,你为每个x值绘制3 y值。

我建议您停止强制绘图的颜色('b'部分告诉绘图以蓝色绘制所有内容),这样您就可以清楚地看到那里有3个绘图。

例如,如果你写:

y= [ 1 0 0 ; 0 1 0];
plot(.1:.1:.2,y)
axis([0 0.3 -1 2])

您将看到三个不同颜色的图:

enter image description here

答案 1 :(得分:3)

来自文档:

  

如果x是向量而y是矩阵,则y的列(或行)对x进行绘制。 (使用匹配的组合,首先尝试使用列。)

在第一种情况下,您正在绘制[1; 0],这是对角线,[1; 1]被轴隐藏,再次[1; 0]