MATLAB Answers

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,
  1 Comment
Jan
Jan on 29 Apr 2021
Please post an example for your inputs.

Sign in to comment.

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
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)

Community Treasure Hunt

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

Start Hunting!