Using isinf and isnan in the same command line?
10 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Greetings all,
Trying to compute some statistics for a particular data array that has Nan and Inf values scattered throughout.
Right now as an example, for one of the arrays, I have the following line: std_sigma1outs=cellfun(@(a)std(a(~isinf(a))),sigma1outs);
So, two questions. 1.) Can I use isinf and isnan on the same array in the same line? 2.) Reading the help files, I see that I can exclude NaNs in std (omitNaN flag). What about excluding Inf's simultaneously? Can someone give me example with my command line I provided to see how that combination would be coded?
Thanks! -J
0 Commenti
Risposta accettata
Brendan Hamm
il 27 Lug 2015
f = @(a) std(a(~isinf(a) & ~isnan(a)));
% f = @(x) std(a(~isinf(a)),'omitnan');
std_sigma1outs=cellfun(f,sigma1outs);
Either way will work fine, but omitnan is a more recent addition to the statistical functions in base MATLAB, so I provide both. The first version utilizes the 'and' operator:
>> true & true
ans =
1
>> false & false
ans =
0
>> true & false
ans =
0
>> false & true
ans =
0
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Numeric Types 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!