how to take average of each column of matrices

조회 수: 21 (최근 30일)
chan
chan 2021년 11월 30일
댓글: Stephen23 2021년 12월 3일
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
Stephen23
Stephen23 2021년 12월 3일
"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.

댓글을 달려면 로그인하십시오.

답변 (2개)

Rik
Rik 2021년 11월 30일
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
chan
chan 2021년 12월 3일
i want mean for column of the 3D matrix. it will be 6*3 matrix
Rik
Rik 2021년 12월 3일
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?

댓글을 달려면 로그인하십시오.


KSSV
KSSV 2021년 11월 30일
A = randi(9,[6 3 6]);
iwant = mean(A,1)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

제품


릴리스

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by