在matlab中用时间序列绘制数据

时间:2016-12-25 16:15:36

标签: matlab datetime plot time-series matlab-figure

我有一些从2007/5/1到2007/5/30从00:00到23:59:58的数据。我想根据数据和时间一起绘制这些数据。如何同时定义日期和时间?因为它有一个固定的日期和时间。例如

2007/5/1 00:00:00       -0.2
2007/5/1 00:00:02       -0.1
2007/5/1 00:00:04       -0.12
.
.
. 
2007/5/31 23:59:58      -0.4

我已经使用过DateTime代码,但我有固定的时间间隔,而且我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

以下是使用datetime变量的示例。您需要将数据导入到与时间向量(下面t)对齐的相应向量中,以便data(i)t(i)的相关数据。

% create a datetime vector of all instances:
start = datetime('2007/5/1 00:00:00','InputFormat','uuuu/MM/dd HH:mm:ss');
step = duration(seconds(2));
fin = datetime('2007/5/31 23:59:58','InputFormat','uuuu/MM/dd HH:mm:ss');
t = start:step:fin; % a 1339200 elements vector, of all time steps
% some random data:
data = rand(numel(t),1);
% plotting samples 1 to 100:
plot(t(1:100),data(1:100))
xlim([datenum(t(1)) datenum(t(100))])

我在这里使用随机数作为例子,你将无法看到任何这样的长矢量,所以我只绘制了一部分:

plotDate