情节:解释输出

Plot : Interpret the output

我正在 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)在哪里绘制以及为什么呈现对角线?

当我尝试 diff 组合时,例如:

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

   1   0   0
   0   1   0

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

绘图如下:

>> 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')

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

来自文档:

If x is a vector and y is a matrix, then the columns (or rows) of y are plotted versus x. (using whichever combination matches, with columns tried first.)

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

绘图函数的工作原理:您提供一些 x 值和相同数量的 y 值,它会绘制它们。

但是,您也可以提供 plot 多个 y 数组,这样您就可以绘制 1 个以上具有相同 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])

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