How can I ignore 0 values when computing the mean over the third dimensional of a 3D matrix?

20 visualizaciones (últimos 30 días)
Hi,
I have a 3D matrix size 951x301x720 let call it A.
I want to get a 951x301 matrix B with the mean of A over the third dimension.
I computed the mean over the third dimension with B = mean(A,3) but I have a lot of zeros in my matrix and I do not want the mean to be affected by the 0 values.
How can I ignore the 0?
Thank you

Respuesta aceptada

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam el 11 de Oct. de 2020
You can set 0 values to NaN. Then find the mean of non NaN values;
Ap=A;
Ap(Ap==0)=NaN;
B=mean(Ap,3,'omitnan')
  4 comentarios

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by