# Find where certain sequence of true/falses is placed inside a logical array

2 views (last 30 days)
Enrico Gambini on 13 Oct 2022
Edited: Enrico Gambini on 13 Oct 2022
Hello!
Assume that I have the following logical array:
x=[false;false;true;true;true;true;true;false;true;true;true]'
x = 1×11 logical array
0 0 1 1 1 1 1 0 1 1 1
I would like to construct a logical array which returns true at the index where the sequence [true;false;true] is found
Hence the result would look like this
result=[false;false;false;false;false;false;true;false;false;false;false]'
result = 1×11 logical array
0 0 0 0 0 0 1 0 0 0 0
Hope that the question is clear, thank you!

David Hill on 13 Oct 2022
x=[false;false;true;true;true;true;true;false;true;true;true]';
f=strfind(x,[1 0 1]);
result=zeros(size(x));
result(f)=1
result = 1×11
0 0 0 0 0 0 1 0 0 0 0
Enrico Gambini on 13 Oct 2022
Edited: Enrico Gambini on 13 Oct 2022
Thank you!
For my purposes I would slightly change the code like this:
x=[false;false;true;true;true;true;true;false;true;true;true]';
f=strfind(x,[1 0 1]);
result=false(size(x));
result(f)=true
result = 1×11 logical array
0 0 0 0 0 0 1 0 0 0 0

### Categories

Find more on Matrix Indexing in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by