Plotting data with time series in matlab

前端 未结 1 1617
轮回少年
轮回少年 2021-01-21 11:32

I have some data from 2007/5/1 to 2007/5/30 from 00:00 to 23:59:58. I want to plot these data according to data and time together. How can I define both date and time together?

相关标签:
1条回答
  • 2021-01-21 12:27

    Here is an example for using a datetime variable. You'll need to import your data to a corresponding vector that aligns with the time vector (t below) so that data(i) is the relevant data for 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))])
    

    I use here random numbers for the example, and you won't be able to see anything for such a long vector, so I plot only a portion of it:

    0 讨论(0)
提交回复
热议问题