Averaging Every Element of some matrices

I have 40 matrices of 12x1. How can I take the the each element of every matrix and get a averaged matrix which will be 12x1

 Accepted Answer

The simple answer is to concatenate all of your matrices into one array, and then use mean. Of course all of your matrices should be in one cell array, because that makes them much easier to work with:
C{1} = [..];
C{2} = [..];
..
C{40} = [..];
A = cat(3,C{:});
M = mean(A,3)

3 Comments

I understand and thank you for the support. Can you just help me out by making a loop for the 40 matrices? say..
C{1} = [..];
C{2} = [..];
..
C{40} = [..];
My matrices are in the name as 'total1979_125_30' , 'total1980_125_30', ... upto 'total2019_125_30' . Each are having 12x1 format.
C{1} = [total1979_125_30];
C{2} = [total1980_125_30];
C{3} = [total1981_125_30];
C{4} = [total1982_125_30];
C{5} = [total1983_125_30];
...upto C{40} = [total2019_125_30];
just help me making the loop

Sign in to comment.

More Answers (1)

Read about mean. You can specify your required dimension to get the mean along.
A = rand(12,1,40) ;
M = mean(A,3) ;

1 Comment

I understand and thank you for the support. Can you just help me out by making a loop for the 40 matrices? say..
C{1} = [..];
C{2} = [..];
..
C{40} = [..];
My matrices are in the name as 'total1979_125_30' , 'total1980_125_30', ... upto 'total2019_125_30' . Each are having 12x1 format.

Sign in to comment.

Asked:

on 6 Oct 2020

Edited:

on 7 Oct 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!