Average a cell with ignoring NaN

1 visualizzazione (ultimi 30 giorni)
Ahmad Bayhaqi
Ahmad Bayhaqi il 29 Apr 2021
Commentato: Jan il 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,

Risposta accettata

Jan
Jan il 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 Commenti
Ahmad Bayhaqi
Ahmad Bayhaqi il 29 Apr 2021
Hi @Jan, yes it works.
Thank you very much
Jan
Jan il 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.

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