count number of values between NaN
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have data set that looks something like this:
NaN; NaN; NaN; NaN; 1; 1; 1; 1; NaN; NaN; NaN; 1; NaN; NaN; NaN; NaN; NaN; NaN; NaN; 1; NaN; NaN; NaN; NaN;
I need to produce a vector of the numbers of 1's between each set of NaNs.
For example with the above data my vector would look like this:
4;1;1
Any suggestions would be greatly appreciated!
Thanks, Dan
0 commentaires
Réponse acceptée
Oleg Komarov
le 12 Juil 2011
In = [NaN; NaN; NaN; NaN; 1; 1; 1; 1; NaN; NaN; NaN; 1; NaN; NaN; NaN; NaN; NaN; NaN; NaN; 1; NaN; NaN; NaN; NaN];
[a,b] = rude(~isnan(In));
a(b)
rude is on the FEX
Plus de réponses (1)
Andrei Bobrov
le 13 Juil 2011
more variant
a1=In(:)';
a1(isnan(a1)) = 0;
out = diff([strfind([0 a1],[0 1])-1;strfind([a1 0],[1 0])])';
0 commentaires
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!