Conversion of time series- hour resolution to minute resolution!

4 visualizaciones (últimos 30 días)
I have a time series of '1' and '0' representing accessibility of the system. Each index of the time series represents an hour (resolution).
Now, instead of having accessibility each hour, I want it for each 6 minutes. To explain the thing I want to achieve, I shall give an example:
  • E.g. at 00.00 hrs, the value of accessibility is '1' and at 01.00 hrs, the accessibility goes to '0'. The new vector should consider the following- from 00.06 - 00.30 hrs(5 indices), the value will be '1' and from 00.36 - 1.00 hrs (5 indices) the value is '0'.
How should I formulate a new vector, which could do such an operation?

Respuesta aceptada

Patrik Ek
Patrik Ek el 26 de Ag. de 2014
Editada: Patrik Ek el 26 de Ag. de 2014
You can use repmat
t0 = [1,0,0,1]; % [00.00, 01.00, 02.00, 03.00]
t1tmp = repmat(t0,10,1); % repeat rows 10 times
t1tmp = t1tmp(:).'; % Make t1tmp a row vector
t1 = t1(6:end.6); % remove times 23.30-00.00 and 03.00-03.30
  1 comentario
Ashish
Ashish el 26 de Ag. de 2014
Thanks Patrik.
The last line shows error. Also, I didn't understand as to what is to be achieved with that line?

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 26 de Ag. de 2014
Editada: dpb el 26 de Ag. de 2014
>> round(interp1([0 1],[0 1],0:.1:1))
ans =
0 0 0 0 0 1 1 1 1 1 1
>>
Generalize to
x=0:length(series)-1;
y=series;
interpolatedseries=round(interp1(x,y,[0:0.1:x(end)]));
This is in units of hours, of course. If want minutes multiply x by 6 or in actual time, convert to Matlab datenums.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by