даты в Matlab - PullRequest
       10

даты в Matlab

1 голос
/ 21 ноября 2011

В Matlab возможно ли каким-либо образом сделать следующее: Используя

S = DATESTR(D, 31)

Number           String                Example 
31       'yyyy-mm-dd HH:MM:SS'    2000-03-01 15:45:17

Возможно ли для Matlab выполнить операцию создания строкикоторый начинается и заканчивается в определенные дни с предварительно заданным интервалом.

Например, если у меня были данные в Excel с вектором времени, начинающимся с 2009-01-01 00:00:00 и заканчивающимся 2009-10-10 10:00:00 с измерениями, проводимыми каждые четыре минутыМожно ли напечатать это в Matlab?Если я не уверен, пожалуйста, дайте мне знать.

Ответы [ 2 ]

2 голосов
/ 21 ноября 2011

Делает ли это то, что вам нужно?

>> dstart = datenum('2009-01-01 00:00:00', 'yyyy-mm-dd HH:MM:SS');
>> dend = datenum('2009-10-10 00:00:00', 'yyyy-mm-dd HH:MM:SS');
>> fourmins = 1/(24*60) *4;
>> dates = dstart:fourmins:dend;
>> datestrs = datestr(dates, 'yyyy-mm-dd HH:MM:SS');
>> datestrs([1,2,end-1,end],:)
ans =
2009-01-01 00:00:00
2009-01-01 00:04:00
2009-10-09 23:56:00
2009-10-10 00:00:00
2 голосов
/ 21 ноября 2011

Для создания массива строк дат, которые начинаются / заканчиваются в определенные даты, с предварительно определенным интервалом, вы можете сделать это:

Преобразовать в числовую форму даты, сгенерировать последовательность, а затем преобразоватьназад.Например:

>> datestr(datenum(datevec('2000-03-01 15:45:17')) : 1: datenum(datevec('2000-03-10 15:45:17')))

ans =

01-Mar-2000 15:45:17
02-Mar-2000 15:45:17
03-Mar-2000 15:45:17
04-Mar-2000 15:45:17
05-Mar-2000 15:45:17
06-Mar-2000 15:45:17
07-Mar-2000 15:45:17
08-Mar-2000 15:45:17
09-Mar-2000 15:45:17
10-Mar-2000 15:45:17
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...