conditional representation of logical numbers

1 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2021-6-4
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 2021-6-4
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

请先登录,再进行评论。

采纳的回答

David Hill
David Hill 2021-6-3
a='111110011111000000011000011111';
a=strrep(a,'1001','111');
a=strrep(a,'101','111');
a=strrep(a,'010','000');
a=strrep(a,'0110','000');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by