Как я могу интерпретировать значение времени в ascii в числовое значение? - PullRequest
3 голосов
/ 31 мая 2010

У меня есть файл, который выглядит следующим образом:

15: 03: 21 II 0,88 0,64 15:03:31 II 0,88 0,64 15:03:42 II 0,40 0,40 и т.д.

после загрузки файла в Matlab я хочу иметь возможность прочитать первый столбец (который соответствует времени) и интерпретировать их как числовые значения. На данный момент они интерпретируются как цепочка символов ascii, и я не могу выполнять с ними никаких математических операций. Кто-нибудь есть какие-либо предложения о том, как я могу прочитать время в виде чисел вместо строки символов ASCII?

Ответы [ 3 ]

6 голосов
/ 31 мая 2010

Используйте DATENUM и DATEVEC , чтобы преобразовать строки даты в полезные числовые значения.

1 голос
/ 03 июня 2010

В дополнение к ответам выше есть еще одна полезная функция DATEVEC , которая преобразует либо строку даты, либо вывод даты-даты в вектор года-месяца-дня-часов-минут-секунд. Попробуйте:

tvec = datevec(t)

Обратите внимание, что если в строке есть только время, дата будет 1 января текущего года. Вы всегда можете вырезать его с помощью

tvec(:,1:3) = [];
1 голос
/ 03 июня 2010

Как сказал Джонас, но более конкретно:

t = {'15:03:21 ' '15:03:31 ' '15:03:42 '};
datenum(t, 'HH:MM:SS')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...