Averaging every n step column and m step row

1 view (last 30 days)
Hi, Please help me to resolve the problem I have matrix 3D 8x84 below
X is time (January 2004 - January 2012)
Y is longitude
Z is Value
X = [01-2004 01-2004 01-2004 01-2004 01-2004 01-2004 01-2004 01-2004
02-2004 02-2004 02-2004 02-2004 02-2004 02-2004 02-2004 02-2004
: : : : : : : :
12-2011 12-2012 12-2012 12-2012 12-2012 12-2012 12-2012 12-2012]
Y = [40 50 60 70 80 90 100 110
40 50 60 70 80 90 100 110
: : : : : : : :
40 50 60 70 80 90 100 110]
Z = [23 35 63 45 23 34 55 32
14 23 34 43 18 26 44 22
: : : : : : : :
21 43 65 22 86 43 66 33]
I want to averaging this matrix every month in every longitude. This would averaging Value at row 1,13,25,37,49,61,73, on longitude(1,1) So I have 3D matrix 8 x 12 (8 point longitude and 12 point monthly) Anyone can help?

Accepted Answer

m0xty Wilopo
m0xty Wilopo on 7 May 2013
Thank you Andrei, this is the fastest way to solve my inquiry
Very happy! Cheers
  1 Comment
Jan
Jan on 7 May 2013
Please accept the answer, which has solved you question. Comments to answers are wanted in the comment section, not as additional answer. Thanks.

Sign in to comment.

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 7 May 2013
Z = randi([14 66],108,8); % eg
mns = ndgrid(1:12,2004:2012);
[ln,ln] = ndgrid(1:numel(mns),1:8);
Zout=accumarray([repmat(mns(:),size(ln,2),1),ln(:)],Z(:),[],@mean);

Categories

Find more on Descriptive Statistics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!