Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

How do I get the index of the element that's the start of an embedded vector within a longer vector? Order mainintained.

1 visualización (últimos 30 días)
For example, in the containing vector (1 2 4 7 6 9 5 3 4 6 7 12 10) I would like to get the index of the first occurrence of the target (4 6 7) which is 9 not 3. I think ismember would give me 5.

Respuestas (3)

Star Strider
Star Strider el 25 de Nov. de 2017
The strfind function will give you 9:
v = [1 2 4 7 6 9 5 3 4 6 7 12 10];
t = [4 6 7];
idx = strfind(v, t)
idx =
9

Andrei Bobrov
Andrei Bobrov el 25 de Nov. de 2017
v = [1 2 4 7 6 9 5 3 4 6 7 12 10];
[~,ii] = ismember([4,6,7],hankel(v(1:end-2),v(end-2:end)),'rows');

Arthur Shapiro
Arthur Shapiro el 30 de Nov. de 2017
Thanks to both Star Strider and Andrei Bobrov for their answers

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by