Mean of an Array Containing some NAN Elements

2 views (last 30 days)
Hello, I have two different arrays, A2 (96x96 doubles) and A3 (96x96x96 doubles), in both these arrays some elements inside are NAN.
I would like to compute the mean (single value for each array) of all the non-NAN values, how can I do it?
I tried with mean(A2) and mean(A3) but is not working

Accepted Answer

KSSV
KSSV on 7 Jul 2022
Edited: KSSV on 7 Jul 2022
Read the doc of mean, there is option of omitting nan.
A = [1 2 NaN 3 4 NaN] ;
mean(A,'omitnan')
ans = 2.5000
In older versions it is nanmean.
  2 Comments
Fabio Taccaliti
Fabio Taccaliti on 7 Jul 2022
Thanks, how can I do the mean of all the components, because right now is giving me a 1x96 array
KSSV
KSSV on 7 Jul 2022
Again read the doc, you cn specify the dimension to calculate the mean.

Sign in to comment.

More Answers (1)

Vijeta Singh Yadav
Vijeta Singh Yadav on 7 Jul 2022
M = mean(___,nanflag)
This function will define whether to exclude or include NaN values from the computation of any previous syntaxes.
It has the following 2 types:
  • Mean(X,’omitNaN’): It will omit all NaN values from the calculation
  • Mean(X,’includeNaN’): It will add all the NaN values in the calculation.
Refer to Matlab Documentation for more information.

Products

Community Treasure Hunt

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

Start Hunting!