Find 625 consecutive ones in vector

2 views (last 30 days)
Sam
Sam on 24 Mar 2020
Edited: John D'Errico on 24 Mar 2020
Hello,
I have a 45000x1 rowvector, which contains only 1's and 0's. I want to find the periods of 625 consecutive ones and locations of these 1's in this vector. Can anyone help?
Thank you.
  2 Comments
Sean de Wolski
Sean de Wolski on 24 Mar 2020
Edited: Sean de Wolski on 24 Mar 2020
Exactly 625 or >=625?
John D'Errico
John D'Errico on 24 Mar 2020
Edited: John D'Errico on 24 Mar 2020
As Sean points out, the difference might change how one solves the problem. Do you want to find ALL occurrences of exactly 625 ones? What if there is a string of length 626? Does that correspond to two sustrings of length 625, one starting one element further down the line? Or is that just one string, that happens to satisfy the goal? What if there was a string of length 1250? Is that two consecutive strings of length 625? Or is it 625 strings of length 625 that overlap, or is it just one string?

Sign in to comment.

Accepted Answer

Ameer Hamza
Ameer Hamza on 24 Mar 2020
Edited: Ameer Hamza on 24 Mar 2020
The following code will find 3 consecutive ones in an input array and output the starting index of each occurrence
x = [0 1 1 1 0 0 1 1 0 1 1 1 0 1];
index = strfind(x, [1 1 1]);
output
index =
2 10

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!