Вот как я должен прочитать значения, разделенные табуляцией , и проанализировать даты:
%# read and parse file
fid = fopen('data.csv','rt');
C = textscan(fid, '%s %s %s %d', 'Delimiter','\t', 'HeaderLines',1, ...
'MultipleDelimsAsOne',true, 'CollectOutput',false);
fclose(fid);
%# get date and number of visitors
dt = datenum(strcat(C{2}, {' '}, C{3}), 'mmm dd yyyy HHMM');
visitors = C{4};
%# plot
plot(dt,visitors)
datetick('x')
xlabel('time of day'), ylabel('visitors')
Что касается дня-недельный столбец, вы можете получить его следующим образом:
>> C{1} %# first column from file
ans =
'mon'
'mon'
'mon'
>> cellstr(datestr(dt,'ddd')) %# actual day of week from parsed dates
ans =
'Sat'
'Sat'
'Sat'
это приводит к разным дням (либо ваши данные были просто составлены, либо у вас есть ошибка в той части, которая сгенерировала эти даты!)