在MATLAB中绘制一个间隔的直线

时间:2014-03-23 08:31:57

标签: matlab plot

我想在一段时间内绘制一条直线。例如,我有两个变量:h和Time。当Time在0到0.56之间时,h值为0.25。我需要它是一条直线。同样,对于其他点。当我使用功能图(时间,h)时,线路连接。我不想要这个。

需要一些指导......

看起来像这样: enter image description here

到目前为止我尝试了什么?

function PlotH(Time,h)
    for i=2:size(Time)
        x = h(i)*ones(1,Time(i));
        hold on;
    end
    plot(x)
    ymax = max(h);
    xlim([1 max(Time)]);
    ylim([-0.5 ymax+0.5]);
    xlabel('Time')
    ylabel('Rate')
end

2 个答案:

答案 0 :(得分:3)

更简单,只需使用stairs即可。这将获取间隔的 start 中的值,因此要匹配示例并使用您需要移动的每个间隔的 end 中的值{ {1}}和h相对于彼此,例如Time

答案 1 :(得分:0)

回答问题:

function PlotH(Time,h)
    for i=2:size(Time,1)
        plot([Time(i-1), Time(i)],[h(i), h(i)])
        hold on;
    end
    ymax = max(h);
    xlim([1 max(Time)]);
    ylim([-0.5 ymax+0.5]);
    xlabel('Time')
    ylabel('Rate')
end