Filter löschen
Filter löschen

conditional representation of logical numbers

3 Ansichten (letzte 30 Tage)
Tino
Tino am 3 Jun. 2021
Kommentiert: Tino am 4 Jun. 2021
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 Kommentare
Walter Roberson
Walter Roberson am 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 am 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Hill
David Hill am 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 Kommentare
Stephen23
Stephen23 am 4 Jun. 2021
@Tino: try these:
b = a=='1'
b = a-'0'
Tino
Tino am 4 Jun. 2021
Thanks Stephen

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by