Computing the mean over 3 numbers in a matrix

4 visualizaciones (últimos 30 días)
mohamad shirgholami
mohamad shirgholami el 6 de Jun. de 2021
Comentada: Image Analyst el 6 de Jun. de 2021
I have a matrix with dimensions of 5000*51. I want to find the average over each 3 numbers and finally I have a matrix of 5000 * 17.
  1 comentario
Image Analyst
Image Analyst el 6 de Jun. de 2021
Do you want a moving mean where the window of 3 moves over one row, or one column, each time, or do you want the window to move in jumps of 3? Do you want 3 in the same row to be averaged? Or do you want the 3 to be in the same column? Which way do you want the mean to go????

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 6 de Jun. de 2021
Let A be your matrix.
[m,n] = size(A) ;
B = reshape(A,m,3,[]) ;
C = mean(B,2) ;
iwant = reshape(C,m,[]) ;

Más respuestas (1)

Chunru
Chunru el 6 de Jun. de 2021
A = rand(5000, 51); % your data
A1 = reshape(A, [5000 3 17]); % reshape the 51 element by 3x17 array
meanA = mean(A, 2); % Mean along 2nd dimension
  2 comentarios
mohamad shirgholami
mohamad shirgholami el 6 de Jun. de 2021
meanA = mean(A1, 2);
mohamad shirgholami
mohamad shirgholami el 6 de Jun. de 2021
thanks for your answer.

Iniciar sesión para comentar.

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by