MATLAB чтение меток времени - PullRequest
       5

MATLAB чтение меток времени

0 голосов
/ 28 апреля 2010

Есть ли простой способ прочитать все столбцы в MATLAB?

мой формат

date  time    y1   y2  y3   y4 .........................      
4/27/2010  00:3:09   34  45  45 56 ................     

так далее ... В настоящее время я читаю их с кодом:

[c,pathc]=uigetfile({'*.txt'},'Select the data','C:\Data');    
file=[pathc c];     
data= dlmread(file, ',', 1,3);    

так что, разумеется, я пропускаю отметки времени.

Интересно, есть ли простой способ прочитать метки времени и построить другие мои столбцы относительно времени в часах.

мои файлы 43200 X 30, а некоторые 86400 X 90

Смежный вопрос: одинаковый ли формат для файлов .csv и .xls, я имею в виду, кроме, конечно, xlsread

Ответы [ 2 ]

1 голос
/ 28 апреля 2010

Я уже ответил на ваш вопрос по тем же данным здесь: пропустить чтение заголовков в MATLAB

[c,pathc]=uigetfile({'*.txt'},'Select the data','C:\Data');
file=[pathc c];
A = importdata(file, ' ', 1);
dt = datenum(A.textdata(2:end,1),'mm/dd/yyyy');
tm = datenum(A.textdata(2:end,2),'HH:MM:SS');
tm = dt+tm-datenum('0:0','HH:MM'); %# combine date and time and correct for zero time.
data = A.data;

Вы можете нанести данные на tm и использовать функцию DATETICK для отображения даты в любом формате.

plot(tm,data)
datetick('x','HH')
xlabel('Time, hours')

EDIT

Вы также можете использовать решение Джонаса для предыдущего вопроса, чтобы прочитать данные. Затем выполните то же, что и выше:

dt = datenum(dateAndTimeCell(:,1),'mm/dd/yyyy');
tm = datenum(dateAndTimeCell(:,2),'HH:MM:SS');
tm = dt+tm-datenum('0:0','HH:MM');

plot(tm,dataArray,'o-')
datetick('x','HH')
xlabel('Time, hours')
0 голосов
/ 28 апреля 2010

Я верю, что sscanf поможет вам.

...