monts in year sequence, string, matrix
    5 views (last 30 days)
  
       Show older comments
    
    Nikola Ostojic
 on 16 Jan 2021
  
    
    
    
    
    Commented: Nikola Ostojic
 on 16 Jan 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?
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 16 Jan 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)
More Answers (1)
  dpb
      
      
 on 16 Jan 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');
See Also
Categories
				Find more on Creating and Concatenating Matrices 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!