conditional representation of logical numbers

1 view (last 30 days)
Hello
Please I have the following time series { 111110011111000000011000011111} in time interval of seconds.
I want to use the following conditions on the sequence. Assuming 1 = True and 0 = false
if false is < 3 seconds and are inbetween two "true periods" then it is translated as 1
if true is < 3 seconds they are translated into 0
The answer when the condition is applied is
11111111111100000000000011111
I will be grateful if anyone assist me in writing this code
Thanks in advance
  4 Comments
Walter Roberson
Walter Roberson on 4 Jun 2021
But is 11100111 to be translated to 1111111 (the run is converted to a single 1), or is 11100111 to be translated to 11111111 (each 0 is to be translated to a 1) ? Your example result used both possibilities.
Tino
Tino on 4 Jun 2021
Hi Walter
Yes the possibility of both is implemented. In the first instance you gave
the 11100111 because zeros is surrounded by 1 then the new sequence is 11111111 ( 11 is converted to 00)
For the second instance 11100111 because it is surrounded by zeros and less than 3 length it is converted to 11 (00 is converted to 11)
Hope it is clear Walter

Sign in to comment.

Accepted Answer

David Hill
David Hill on 3 Jun 2021
a='111110011111000000011000011111';
a=strrep(a,'1001','111');
a=strrep(a,'101','111');
a=strrep(a,'010','000');
a=strrep(a,'0110','000');
  3 Comments

Sign in to comment.

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!