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 ...?

Réponses (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 commentaire

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Question posée :

LS
le 20 Mai 2021

Commenté :

LS
le 20 Mai 2021

Community Treasure Hunt

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

Start Hunting!

Translated by