MATLAB time stamps reading
Any easy way to read all the co开发者_Python百科lumns in MATLAB?
my format is
date time y1 y2 y3 y4 .........................
4/27/2010 00:3:09 34 45 45 56 ................
so on... Currently i am reading these with the code:
[c,pathc]=uigetfile({'*.txt'},'Select the data','C:\Data');
file=[pathc c];
data= dlmread(file, ',', 1,3);
so needless to say i am skipping the time stamps.
Was wondering if there is easy way to read the time stamps and plot my other columns against the time in hours.
my files are 43200 X 30 and some are 86400 X 90
Related question : is the format same for .csv and .xls files , i mean except of course xlsread
I already answered to your question on the same data here: skip reading headers in 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;
You can plot your data against tm
and use DATETICK function to show date in any format.
plot(tm,data)
datetick('x','HH')
xlabel('Time, hours')
EDIT
You can also use Jonas's solution for previous question to read the data. Then do same as above:
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')
I believe sscanf will do the trick for you.
精彩评论