Please help! Timestamp matrix problem, creating new matrices
1 view (last 30 days)
Show older comments
Hi all,
I'm with a problem doing a part of a program, I hope you can help me.
I have this three columns in excel;
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/153664/image.png)
it goes until 31-01-2012 23:45
And now I want to read them into matlab and convert them into 3 new matrix with this format;
Timestamp
01-01-2012 00:00
01-01-2012 01:00
(...)
Period
A
C
Price
11,800000
10
So basicly I want a program that read's timestamp and keep's day month year and hour (ignoring the minutes), for that period of time it needs to show the most repetitive value in periods of one hour (for example: it will give A to 00 and C to 01) and finally I want it to sum the prices for that hour (so it will sum the price at 00:15 + price at 00:30 etc.)
It will be a huge help, if you can solve me this problem.
2 Comments
Walter Roberson
on 13 Dec 2013
What if there was a 1 hour slot that had two 'D' and two 'E' period markers? Then there is no "most repetitive" period marker.
In the example you show, the Period marker is the same for everything in the first hour, and is different for the second hour but that second value is the same for the entire second hour. In the third hour, can the period again be 'A' or 'C', or is each period marker unique for an hour? Or is it cyclic, repeating at 24 hour intervals?
Answers (2)
Walter Roberson
on 13 Dec 2013
To convert S = '01-01-2012 00:15' to '01-01-2012 00:00' then
S(end-1:end) = '00';
0 Comments
João
on 14 Dec 2013
Edited: Walter Roberson
on 15 Dec 2013
6 Comments
Walter Roberson
on 16 Dec 2013
date_myway = timevec(:,[3 2 1 4]);
if your order is D Mon Y H. datevec returns in the order Y Mon D H Min S Frac
See Also
Categories
Find more on Time Series Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!