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

23 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam il 11 Ott 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 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by