MATLAB Answers

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

21 views (last 30 days)
A Leglep
A Leglep on 11 Oct 2020
Commented: Rik on 11 Oct 2020
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

Accepted Answer

Asad (Mehrzad)  Khoddam
Asad (Mehrzad) Khoddam on 11 Oct 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 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by