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

yb3bgrhw  于 6个月前  发布在  Matlab
关注(0)|答案(2)|浏览(94)

我有这样的东西:

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

字符串
我想只绘制水平高度\低,而不绘制垂直线:


的数据

mmvthczy

mmvthczy1#

如果你不介意垂直线,使用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

mrphzbgm

mrphzbgm2#

您可以使用stem图代替:

stem(x,y,'LineStyle','none','Marker','_')

字符串

相关问题