# calculation of a mean matrix

109 Ansichten (letzte 30 Tage)
Subrat kumar sahoo am 15 Aug. 2012
Kommentiert: Steven Lord am 25 Apr. 2023
Hi I have two matrices
a = [1 2 3; 2 3 4]
and
b = [2 3 4; 3 4 5];
I want a mean output matrix "c," whose output should be
c= [1.5 2.5 3.5; 2.5 3.5 4.5].
so basically "c" should have a mean of respective parameters and same dimension as "a" and "b". Can someone help?
Thanks, Subrat
##### 1 KommentarKeine anzeigenKeine ausblenden
Yanbo am 15 Aug. 2012
you might just simply add a to b, and them divide the sum by 2. Or, are you looking for a specific command?

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Oleg Komarov am 15 Aug. 2012
Unfortunately your example doesn't allow to propose a unique solution, i.e.:
c1 = [mean(a); mean(b)]
c2 = squeeze(mean(cat(3,a,b),3));
c1 simply takes the vertical mean (along rows) of a and then concatenates the vertical mean of b
c2 takes the mean of row 1 from a AND b and then concatenates the mean of the second row fro the two matrices.
Which one do you want?
##### 2 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Subrat kumar sahoo am 15 Aug. 2012
I have a bit different requirement now: if "a" and "b" happens to be two elements of the same cell like d{1} and d{2} then is there a possibility of getting "c2" (*c2 = squeeze(mean(cat(3,a,b),3));*) with elements "a" and "b" (i.e. now d{1} and d{2}) picked thru a "for" loop? Thanks, Subrat

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (3)

Image Analyst am 15 Aug. 2012
a = [1 2 3; 2 3 4];
b = [2 3 4; 3 4 5];
c = (a+b)/2
In the command window:
c =
1.5 2.5 3.5
2.5 3.5 4.5
##### 3 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Steven Lord am 25 Apr. 2023
what if you have a ridculous amount of matrices (1000)
Then I'd recommend you revise the code to avoid that scenario. More likely than not you dynamically created variables with numbered names like x1, x2, x3, etc.
Can you do that? Yes.
Should you do this? The general consensus is no. That Answers post explains why this is generally discouraged and offers several alternative approaches.

Melden Sie sich an, um zu kommentieren.

Thomas am 15 Aug. 2012
Bearbeitet: Thomas am 15 Aug. 2012
a = [1 2 3; 2 3 4];
b = [2 3 4; 3 4 5];
c=[mean(a);mean(b)]
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Benjamin Klugah-Brown am 9 Aug. 2020
what if matrix a and b have different size
##### 5 Kommentare4 ältere Kommentare anzeigen4 ältere Kommentare ausblenden
Walter Roberson am 10 Aug. 2020
If by NA you mean NaN, then you would have to use
mean(cat(3, A1, B1), 3, 'omitnan')
or you would have to use something like
C1 = (A1 + B1) / 2;

Melden Sie sich an, um zu kommentieren.

### Kategorien

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by