Conditional Indexing of a cumsum

3 visualizaciones (últimos 30 días)
Jonathan Cheong
Jonathan Cheong el 4 de Feb. de 2021
Comentada: Jonathan Cheong el 9 de Feb. de 2021
From a random data k, I would like to fulfill 2 Conditions:
1) Cumsum until 3.5mm - Fulfilled
2) Each cumsum interval must be more than 4 index
Below is the code:
clean = k([],:);
indclean = [];
k = rand(1000,1);
for ii = startind % Iterate over start indices
cs = cumsum(k(ii:end));
inds3_5 = ii-1 + find(cs <= 1); % Find where data is below the 3.5mm threshold; adjust based on the start index.
clean = [clean;k(inds3_5,:)]; % append data
indclean = [indclean; inds3_5]; % append indices
end
Hence, how do I make it so that only cumsum that last more than 4 indexes are used.
Many thanks.

Respuesta aceptada

Asvin Kumar
Asvin Kumar el 8 de Feb. de 2021
Store find(cs<=1) in a temporary variable and count the number of elements in that list.
tmp = find(cs<=1);
if numel(tmp)>=4
% your code here
end
  1 comentario
Jonathan Cheong
Jonathan Cheong el 9 de Feb. de 2021
Thank you very much! This is exactly what I was looking for.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing 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!

Translated by