conditional representation of logical numbers

1 回表示 (過去 30 日間)
Tino
Tino 2021 年 6 月 3 日
コメント済み: Tino 2021 年 6 月 4 日
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');
  3 件のコメント
Stephen23
Stephen23 2021 年 6 月 4 日
@Tino: try these:
b = a=='1'
b = a-'0'
Tino
Tino 2021 年 6 月 4 日
Thanks Stephen

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by