monts in year sequence, string, matrix

1 visualización (últimos 30 días)
Nikola Ostojic
Nikola Ostojic el 16 de En. de 2021
Comentada: Nikola Ostojic el 16 de En. de 2021
I have a series of 365 days. I need to divide the elements of the array into months with 31, 28, 31, 30 .. days and add the values ​​for the months.
The result should be a series of 12 months with aggregated values ​​for each month.
can i have a reshape function?

Respuesta aceptada

Walter Roberson
Walter Roberson el 16 de En. de 2021
Convert to a timeseries() object and use retime()
Or:
Data = rand(365,1);
Data_timestamp = datetime(2021, 1, 1:365).'; %use non-leap year !
month_totals = accumarray(month(Data_timestamp), Data)
month_totals = 12×1
17.6917 12.5502 14.1349 17.2993 14.2127 17.4742 16.3479 14.0845 13.4153 15.4119

Más respuestas (1)

dpb
dpb el 16 de En. de 2021
Add the date to a timetable and retime with aggregation--
tt=timetable(datetime(yr,1,1:365).',data); % make timetable of days and your data
ttAgg=retime(tt,'monthly','sum');
  1 comentario
Nikola Ostojic
Nikola Ostojic el 16 de En. de 2021
Thanks for the reply!! :))
I believe it works, but i already got the reply.

Iniciar sesión para comentar.

Categorías

Más información sobre Timetables en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by