How to take monthly of time series using loop I am having data form each month( having 30/31) data values

2 views (last 30 days)
How to take monthly average from each month using loop, and in one year there should be 12 values
  2 Comments
Adam
Adam on 17 Sep 2014
Give an example of what your inputs look like otherwise it is impossible to answer. There aren't any prizes for the shortest "question" statement on the forum!
Chris Martin
Chris Martin on 18 Sep 2014
Edited: Chris Martin on 18 Sep 2014
the time series example is given here..i need mean for every month..and its not only one year daya year also varies...the time series is like year month date valeu1 value 2 like that..I monthly mean such that in one year there is only 12 values...again this is not one year data.... http://www.mathworks.in/matlabcentral/answers/155193-how-to-take-monthly-of-time-series-using-loop

Sign in to comment.

Answers (2)

dpb
dpb on 17 Sep 2014

Andrei Bobrov
Andrei Bobrov on 18 Sep 2014
Edited: Andrei Bobrov on 18 Sep 2014
load yourdata.mat
[ym,~,c] = unique(a(:,1:2),'rows');
s = size(a)-[0,3];
ii = repmat(c,s(2),1);
jj = repmat(1:s(2),s(1),1);
out = [ym,accumarray([ii,jj(:)],reshape(a(:,4:end),[],1),[],@mean)];

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!