change the resolution of time series from hourly to 30min
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello all!
I've got some hourly data and I want to transpose it to 30min data.
For example for the variable 1, I've got the timeseries: (Dates - Values:)
00:00 01/07/2010 -> 5
01:00 01/07/2010 -> 6
02:00 01/07/2010 -> 8
and I need to transpose it to: (Dates - Values)
00:00 01/07/2010 -> 5
00:30 01/07/2010 -> 5
01:00 01/07/2010 -> 6
01:30 01/07/2010 -> 6
02:00 01/07/2010 -> 8
02:30 01/07/2010 -> 8
Do you have any idea??
0 Kommentare
Akzeptierte Antwort
Fangjun Jiang
am 1 Sep. 2011
resample() would be the function to use, but in your case, just process your original data to create a new timeseries.
Data=[5 6 8];
Time={'00:00 01/07/2010','01:00 01/07/2010','02:00 01/07/2010'};
ts=timeseries(Data',Time')
NewData=repmat(Data,2,1);
NewTime=datenum(Time);
NewTime=[NewTime';NewTime'+0.5/24];
NewTs=timeseries(NewData(:),NewTime(:))
2 Kommentare
Fangjun Jiang
am 2 Sep. 2011
In my code above, Data=[5 6 8] is a row vector, not a column vector as you just mentioned Data=[5;6;8].
If you have Data=[5;6;8], you can do NewData=[Data Data]';NewData=NewData(:); you'll get what you want.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Time Series Events finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!