How to do if statement for a specific value that lasts for more than 2 seconds
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Saad Alqahtani
am 9 Jul. 2021
Kommentiert: Saad Alqahtani
am 9 Jul. 2021
Hi,
I'm trying to see if a specific value exists for more than 2 seconds.
here is my code:
isOK2 = (Discard2_to_end <=Discard2value); % logical array
t = 2*fsamp; % 2 seconds interval
I want to use if statement if 1 exists for more than 2 seconds.
Any help would be appreciated. Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 9 Jul. 2021
isOK2 = reshape(isOK2, 1, []); %need row vector
starts = strfind([0, isOK2], [0 1]);
stops = strfind([isOK2, 0], [1 0]);
burst_duration = stops - starts + 1;
burst_is_long_enough = burst_duration >= t;
starts = starts(burst_is_long_enough);
stops = stops(burst_is_long_enough);
starts and stops will now be vectors of starting and ending indices of places with bursts that were long enough. They will be empty if there were no sufficiently long bursts.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!