Assigning a variable for matrices
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
추가 답변 (1개)
Andrei Bobrov
2014년 5월 20일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!