MATLAB: Assigning a variable for matrices

matricesvariable

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.

Best Answer

The recommendable thing is to get rid of the separate matrices S1...S39, replacing them instead by a single 3D array S(:,:,i).
This can be done as follows
for i=1:39
S(:,:,i)=eval(['S' num2str(i)]);
end
Now, do manipulations in terms of S, as we discussed in your previous related thread.