Assigning a variable for matrices
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I need to repeat the following calculation for S1, S2 upto S39 by changing the name S (1,2,...39). How can I assign a variable for S1, S2..S39 in the following code.
JanS1TRMM=mean(S1(1:31,:)); FebS1TRMM=mean(S1(32:59,:)); MarS1TRMM=mean(S1(60:90,:)); AprS1TRMM=mean(S1(91:120,:)); MayS1TRMM=mean(S1(121:151,:)); JunS1TRMM=mean(S1(152:181,:)); JulS1TRMM=mean(S1(182:212,:)); AugS1TRMM=mean(S1(213:243,:)); SepS1TRMM=mean(S1(244:273,:)); OctS1TRMM=mean(S1(274:304,:)); NovS1TRMM=mean(S1(305:334,:)); DecS1TRMM=mean(S1(335:365,:));
Any help is appreciated.
Thanks.
0 commentaires
Réponse acceptée
Plus de réponses (1)
Andrei Bobrov
le 20 Mai 2014
S = eval(strcat('{',sprintf('S%d;',1:39),'}'));
Sn = cat(3,S{:});
ii = [31 28 31 30 31 30 31 31 30 31 30 31];
i1 = zeros(365,1);
i1(cumsum(ii) - ii + 1) = 1;
i2 = cumsum(i1);
[x,y,z] = ndgrid(i2,1:3,1:39);
Strmm = accumarray([x(:),y(:),z(:)],Sn(:),[],@mean);
0 commentaires
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!