2016-12-25 5 views
1

У меня есть данные с 2007/5/1 по 2007/5/30 с 00:00 до 23:59:58. Я хочу построить эти данные в соответствии с данными и временем вместе. Как я могу определить дату и время вместе? потому что у него есть обычная дата и время. НапримерПостроение данных с временными рядами в matlab

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 код, но у меня есть регулярный интервал времени, и я не знаю, как ее решить.

+0

Is ваш вектор времени находится в формате 'datetime'? Если это так, вы просто можете использовать 'plot' как обычно. Попробуйте привести здесь пример нужного вывода и то, что у вас есть до сих пор. – EBH

+0

Нет, на самом деле у него нет формата даты, но у меня есть последовательные данные, в которых я знаю, что первые данные для 00:00:00 2007/5/1 с тем же шагом во времени. –

ответ

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

+0

У меня 1440 данных за каждый день, это означает, что он имеет более высокую точность, чем секунды ... как я могу это определить? И как я могу построить временные ряды, чтобы увидеть всю свою эволюцию? –

+0

1440 образцов за день - это ** более низкая ** точность 1 мин на образец, вы можете изменить: «step = duration (minutes (1))', поэтому вы получаете все минуты в этот период. Если вы хотите построить все временные ряды, просто напишите: 'plot (t, data)' – EBH

Смежные вопросы