MATLAB如何绘制一个没有垂直线的离散函数,只有水平

时间:2014-12-06 21:59:59

标签: matlab plot

我有这样的事情:

t = [-1 0 1 2 3 4 5];
ft= [ 0 0 0 0 1 1 1];

我想只绘制水平线高\低而没有垂直线:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果你不介意垂直线,那么使用stairs(x,t)功能真的很简单。否则,您可以创建自己的函数来处理点对以生成线条,并使用hold on单独绘制它们。

function stairs2(x,y)
    hold on;
    for i=1:length(x)-1
        plot(x(i:i+1),[y(i) y(i)]);
    end
    hold off;
end

然后根据上面的示例调用stairs2(x,t),并设置适当的缩放/轴。

或者,这是一种不同的方式,只使用一个调用来绘制:

function stairs2(x,y)
    for i=1:length(x)-1
        A(:,i) = [x(i) x(i+1)];
        B(:,i) = [y(i) y(i)];
    end
    plot(A,B,'b');
end