How to split data into several segments so that in each segment, the number of NaN is not more than a certain value.
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Adib Yusof
le 15 Jan 2018
Réponse apportée : Image Analyst
le 15 Jan 2018
I have a large data which contains around 6,500,000+ data points. I need to split/divide my data into several segments so that in each segment, the number of consecutive NaN is not more than 18,000. What should I try? Thanks.
1 commentaire
Réponse acceptée
Image Analyst
le 15 Jan 2018
Try this (just off the top of my head):
data = rand(1, 6500000);
segmentLength = 1000000; % Whatever...
nansPerSegment = 30000; % Whatever...
for k = 1 : segmentLength : length(data)
lastIndex = min(length(data), k + segmentLength - 1);
thisData = data(k:lastIndex);
numElements = numel(thisData);
nanLocations = k + randperm(numElements, nansPerSegment) - 1;
data(nanLocations) = nan;
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur NaNs 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!