Conditional Indexing of a cumsum
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Jonathan Cheong
il 4 Feb 2021
Commentato: Jonathan Cheong
il 9 Feb 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.
0 Commenti
Risposta accettata
Asvin Kumar
il 8 Feb 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
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!