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!