Average a cell with ignoring NaN

1 view (last 30 days)
Ahmad Bayhaqi
Ahmad Bayhaqi on 29 Apr 2021
Commented: Jan on 30 Apr 2021
Hi all,
I want to average with ignoring the NaN. I used the script below:
Intens2 = cellfun(@(C) cellfun(@mean, C), new_table3.extData, 'uniform', 0)
and the and I do average to Intens2
Intens3=cellfun(@mean, Intens2);
Is there a way to average in Intens2 and Intens2 with ignoring NaN?
where I can put 'omitnan'?
Thank you very much,

Accepted Answer

Jan
Jan on 29 Apr 2021
C = {[1,2,4,6,NaN], [NaN, 2, 3, NaN]};
MC = cellfun(@(x) mean(x, 'omitnan'), C)
MC = 1×2
3.2500 2.5000
  2 Comments
Ahmad Bayhaqi
Ahmad Bayhaqi on 29 Apr 2021
Hi @Jan, yes it works.
Thank you very much
Jan
Jan on 30 Apr 2021
You are welcome. There are 3 nested cellfun calls in your code. Usually loops are faster than the nice cellfun. I'd post a loop method, if it is clear, what exactly your inputs are.

Sign in to comment.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!