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

Respuestas (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 comentario

LS
LS el 20 de Mayo de 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)

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

LS
el 20 de Mayo de 2021

Comentada:

LS
el 20 de Mayo de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by