我在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的值是绘制的,为什么有对角线渲染?
当我尝试差异组合时,例如:
>> 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值来推断绘图图表?
答案 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])
您将看到三个不同颜色的图:
答案 1 :(得分:3)
来自文档:
如果x是向量而y是矩阵,则y的列(或行)对x进行绘制。 (使用匹配的组合,首先尝试使用列。)
在第一种情况下,您正在绘制[1; 0],这是对角线,[1; 1]被轴隐藏,再次[1; 0]