how to take average of each column of matrices

23 Ansichten (letzte 30 Tage)
chan
chan am 30 Nov. 2021
Kommentiert: Stephen23 am 3 Dez. 2021
A = randi(9,[6 3 6]);
U = 3:5;
% do it with a loop
M = zeros(size(A,1),size(A,2),numel(U));
for k = 1:length(U)
M(:,:,k) = A(U(k),1,2) * A(:,:,U(k));
end
%Here i have 3 matrices i.e. M(:,:,1),M(:,:.2),M(:,:,3).
Could someone suggest me a hint on how to take the average of each column of the three matrices. result will be a 6*3 matrix
"sendcnt" can be 3/4/5
when i do M/sendcnt then each cell of the matrix is divided by sendcnt which is not right.
what i want is (1st column of 1st matrix+1st column of 2nd matrix+1st column of 3rd matrix)/sendcnt
similarly for the other 2nd and 3rd column.
  1 Kommentar
Stephen23
Stephen23 am 3 Dez. 2021
"i want mean for column of the 3D matrix. it will be 6*3 matrix"
The mean along column of a 6x3x6 array will return a 6x1x6 array.
I suspect that you might want the mean along the third dimension (aka "page"):
The mean along each "page" will return a 6x3(x1) array.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Rik
Rik am 30 Nov. 2021
It sounds like you want something like this:
A = randi(9,[6 3 6]);
U = 3:5;
% do it with a loop
M = zeros(size(A,1),size(A,2),numel(U));
for k = 1:length(U)
M(:,:,k) = A(U(k),1,2) * A(:,:,U(k));
end
data=mean(M,2); %apply mean over the second dimension (columns)
squeeze(data) % reshape the nx1xm to nxm
ans = 6×3
45.3333 25.0000 4.3333 18.6667 13.3333 4.3333 21.3333 16.6667 4.0000 58.6667 26.6667 4.6667 40.0000 26.6667 6.0000 18.6667 18.3333 5.0000
  3 Kommentare
chan
chan am 3 Dez. 2021
i want mean for column of the 3D matrix. it will be 6*3 matrix
Rik
Rik am 3 Dez. 2021
That is what mean(M,2) does, however, the result is not 6*3 but 6*1*3. The reason is that you only have 1 column left if you calculate the average of the columns.
Can you give an example of input and expected output?

Melden Sie sich an, um zu kommentieren.


KSSV
KSSV am 30 Nov. 2021
A = randi(9,[6 3 6]);
iwant = mean(A,1)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by