如何阻止matlab stairs命令从最后一个元素中删除?

时间:2013-06-21 19:35:26

标签: matlab

stairs(1:10)

给出了这个情节: enter image description here

如果你不小心,你会错过最后一个数据点。显然,你可以这样解决这个问题:

stairs([1:10 10])

但是说真的吗?这让我很傻。我看到没有明显的“简单”解决方法,除了滚动我自己的楼梯功能。

mystairs = @(x)stairs([x x(end)])

但这并没有真正概括楼梯,只是为一个(非常有限的)用例修复它。我可以完成创建.m文件的所有工作,并正确地处理var args等。有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

这就是图的本质:数据点代表观察或价值转换,你在最后一个观察点有一个转变。这是Matlab图的一般契约,最终数据点位于折线图的最后。执行[x x(end)]的问题是,现在您正在绘制一个额外的虚假数据点,并且该行将在自变量X轴上从10扩展到11,这超出了数据点所覆盖的范围。可能会产生误导,特别是如果其他一些代码从图形句柄中取出Y数据并对其执行某些操作。

如何增加绘图的xlim,以便最终的状态转换线不会落在图的边缘并被边框遮挡?