How to find specific entry values in a vector?

I would like to consider only the 3's between the 1's and 2's.
x = [1, 1, 1, 3, 3 ,3 ,2 ,2, 3, 3, 1, 1, 1 , 3, 3, 2 ,3,...];
Desired result: r = [0, 0, 0, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0 ,3 ,3 , 0 ,....]
for i = 1:length(x)-1
if x(i)==1 && x(i+1) == 3
while ...?

Answers (1)

x = [1, 1, 1, 3, 3 ,3 ,2 ,2, 3, 3, 1, 1, 1 , 3, 3, 2 ,3];
x(x~=3) = 0
x = 1×17
0 0 0 3 3 3 0 0 3 3 0 0 0 3 3 0 3

1 Comment

Thanks, but it's not what I meant. I would like to get these values (every group of 3's between 1 and 2)

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

LS
on 20 May 2021

Commented:

LS
on 20 May 2021

Community Treasure Hunt

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

Start Hunting!