How to split data into several segments so that in each segment, the number of NaN is not more than a certain value.
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Adib Yusof
el 15 de En. de 2018
Respondida: Image Analyst
el 15 de En. de 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 comentario
Rik
el 15 de En. de 2018
Is that the only requirement? If so, you can simply use isnan and a bit of code.
Respuesta aceptada
Image Analyst
el 15 de En. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!