在时间窗口(或时间段)中绘制给定值

时间:2013-06-09 07:26:54

标签: matlab plot

我试图在20秒的时间窗口内绘制身体的能量。在前20秒窗口中,能量为1个单位,在接下来的20秒窗口中,能量为4个单位,在第三个20秒窗口中,能量为9个单位。

我只有一个包含能量值的数组:

Energy=[1 4 9 ] ; 

我只采用了3个值来说明。实际上我有1024个值。

如何绘制能量与时间的关系图如下所示?

enter image description here

这没有帮助:

t=1:3
plot(t, Energy )

这一个(由于t和能量的维度不相等而错误)

t=1:60
plot(t, Energy )

最后我尝试了这个;

  Energy=[1 4 9 ] ; 

 n=0;

  for k=1:3

      for i=1:20

  Energy(i+n)=Energy(k);

        end 

      n=n+20;

  end 



t=1:60;
 plot(t,Energy  )
 xlabel('Time (s)')
ylabel('Energy')        

这给出了错误的情节:

enter image description here

1 个答案:

答案 0 :(得分:0)

您发布的数字看起来像stairstep plot;尝试

t = [0 20 40 60]; 
Energy = [1 4 9 4]; 
stairs(t, Energy)

从你的情节我也看到你想要一个水平线的最后一位等于能量的最后一个值。为此,在绘制数据之前,您可以执行以下操作,

t = [t t(end)+20]; 
Energy = [Energy Energy(end)];