conditional representation of logical numbers

1 visualización (últimos 30 días)
Tino
Tino el 3 de Jun. de 2021
Comentada: Tino el 4 de Jun. de 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 comentarios
Walter Roberson
Walter Roberson el 4 de Jun. de 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 el 4 de Jun. de 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

Iniciar sesión para comentar.

Respuesta aceptada

David Hill
David Hill el 3 de Jun. de 2021
a='111110011111000000011000011111';
a=strrep(a,'1001','111');
a=strrep(a,'101','111');
a=strrep(a,'010','000');
a=strrep(a,'0110','000');
  3 comentarios
Stephen23
Stephen23 el 4 de Jun. de 2021
@Tino: try these:
b = a=='1'
b = a-'0'
Tino
Tino el 4 de Jun. de 2021
Thanks Stephen

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by