У меня есть вектор температур и массив ячеек Дата / Время. Я хочу создать 4 переменные, где каждая переменная представляет разные этапы дня. Например, мне нужно создать переменные для всех температур, записанных между 09:00 - 15:00, 15: 00-21: 00, 21: 00-03: 00 и 03: 00-09: 00 для всей год.
Итак, если бы температура регистрировалась ежечасно в течение года, у меня было бы 8760 измерений, я хотел бы разбить ее на отдельную переменную, соответствующую времени, показанному выше.
clear all
StartDate = '2011-01-01 00:00';
EndDate = '2011-12-31 23:57';
Resolution = 60;
DateTime=datestr(datenum(StartDate,'yyyy-mm-dd HH:MM'):Resolution/(60*24):...
datenum(EndDate,'yyyy-mm-dd HH:MM'),'yyyy-mm-dd HH:MM');
DateTime=cellstr(DateTime);
data = 1 + (20-1).*rand(8760,1);
Итак, в конце у меня будет переменная, в которой значения температуры между этими значениями измеряются каждый день в течение всего года.
В настоящее время я конвертирую DateTime в векторы с помощью datevec, а затем использую:
P1{i}( not( 3 <= DateVector(:,4) & DateVector(:,4) < 9 ) ) = nan;
чтобы указать разное время дня. Это лучший метод для выполнения такой задачи?