Borrar filtros
Borrar filtros

How to split data into several segments so that in each segment, the number of NaN is not more than a certain value.

5 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Image Analyst
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

Más respuestas (0)

Categorías

Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by