Converting a timetable to a matrix
古いコメントを表示
Consider the following table
TimeStamp X1 X2 X3 X4
____________________ ______ ______ ______ ______
03-Jan-2005 01:08:00 1.9193 1.9193 1.9193 1.9193
03-Jan-2005 01:13:00 1.9193 1.9193 1.906 1.906
I tried converting it back to a matrix in order to get the following format:
732315 108 1.9193000 1.9193000 1.9193000 1.9193000
732315 113 1.9193000 1.9193000 1.9060000 1.9060000
Somehow I get an error with the following code:
TT=timetable2table(F);
numformat = datevec(TT.TimeStamp);
since_midnight=numformat(:,4)*60+numformat(:,5);
temp=regexp(TT.Timestamp,'\s+', 'split');
datecol=cellfun(@(C)C{1},temp,'uniform',0);
formatfreak='dd/mm/yyyy';
serialdates = datenum(char(datecol),formatfreak);
every=[sum(:,2),sum(:,3),sum(:,4),sum(:,5)];
matrix=cell2mat(every);
everyfull=[serialdates(:),since_midnight(:)];
x=[everyfull,matrix];
Error:
Error using regexp
The 'STRING' input must be either a char row vector, a cell array of char row vectors, or a string
採用された回答
その他の回答 (1 件)
Peter Perkins
2018 年 4 月 11 日
0 投票
AA, I guess Walter has answered your question, but I can't think of a reason why you would want to convert your table containing datetimes into those datenum+otherThing values. Maybe there's other code somewhere that expects that, but otherwise, it seems like an unnecessary headache.
カテゴリ
ヘルプ センター および File Exchange で Characters and Strings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!