用垂直线绘制步(分段)函数

时间:2011-11-14 11:38:25

标签: matlab plot piecewise

尝试绘制0和1的信号函数,非常类似于下面问题的解决方案: How to plot non-numeric data in Matplotlib

但是,当函数从0变为1时,我想要有垂直线而不是弯曲线。例如,如果f(x)= 0则x = 1 2 3 4且f(x)= 1之后,我想要y = 0到x = 5的水平线,x = 5的垂直线从y = 0到y = 1,然后是y = 1的水平线

可以在绘图功能中完成吗?或者我需要绘制一大块正方形?

谢谢!

2 个答案:

答案 0 :(得分:4)

您可以使用stairsarea功能。如图所示here

%# Sample input
x = 1:10;
y = [0 0 0 0 1 1 1 1 1 1];

subplot(2,1,1)
stairs(x,y)
title('Stairs chart (non area)')

subplot(2,1,2)
x = [x;x];
y = [y;y];
area(x([2:end end]),y(1:end))
title('Stairs area')

Stairs with area

答案 1 :(得分:0)

您是否尝试过stairs功能?