Averaging every n step column and m step row
Afficher commentaires plus anciens
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?
Réponse acceptée
Plus de réponses (1)
Andrei Bobrov
le 7 Mai 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);
1 commentaire
m0xty Wilopo
le 11 Mai 2013
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!