# Calculate mean value from different matrices

36 visualizzazioni (ultimi 30 giorni)
Mepe il 30 Dic 2020
Commentato: Ameer Hamza il 30 Dic 2020
Hi there,
I have 5 different matrices (10x10000), where I want to calculate the mean value of the individual rows column by column, so that the end result is a single 10x10000 matrix. How can I do this most elegantly with the "mean" command?
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Image Analyst il 30 Dic 2020
How do you end up with the same size result? If you have a 10x10000 matrix, then taking the mean of rows, going across columns, is like this
rowMeans1 = mean(M1, 2); % Result is a 10 x 1 vector.
and the result is a 10 x 1 vector. So if you had 5 or those, even if you stitched them together you'd have a 10x5 matrix.
overallResults = [rowMeans1, rowMeans2, rowMeans3, rowMeans4, rowMeans5]; % 10x5
Or if you went in the other direction
columnMeans1 = mean(M1, 1); % Result is a 1 x 10000 vector.
Stitching together 5 of them would give a 5x10000 matrix.
overallResults = [rowMeans1; rowMeans2; rowMeans3; rowMeans4; rowMeans5]; % 5x10000

Accedi per commentare.

### Risposta accettata

Ameer Hamza il 30 Dic 2020
How are 5 matrices available? Is it a cell array? Try something like this
C = {M1, M2, M3, M4, M5};
M = cat(3, C{:});
M_mean = mean(M, 3)
##### 4 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
Image Analyst il 30 Dic 2020
Modificato: Image Analyst il 30 Dic 2020
Of course creating a cell array is not needed. You could just omit that and do
M = cat(3, M1, M2, M3, M4, M5);
M_mean = mean(M, 3);
Just to clarify Mepe, you're not using "column" in the usual sense of a matrix, as in rows and columns, like everyone else does. This is taking the average of all matching coordinates across 5 different matrices, not column-by-column, hence my question above asking for clarification. Evidently Ameer also has a beta copy of the Mind Reading Toolbox.
Ameer Hamza il 30 Dic 2020
I wish I could subscribe to that toolbox :D . I just guessed based on confusing wording in the question and the intended size of the output matrix.

Accedi per commentare.

### Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by