Matlab - Cómo verificar si un valor está en un vector?

 
Vista:

Cómo verificar si un valor está en un vector?

Publicado por Juan Camilo Manzano (27 intervenciones) el 25/03/2010 21:04:55
Tengo:

x=[1 2 3 4 5 6 7 1 9]

Cómo verifico que un valor dado está en ese vector?

Yo pensé hacerlo de la siguiente manera:

fprintf('Por favor digite el valor de y: ');
y=input('');
if y==x
fprintf('y esta en x');
else
fprintf('y no esta en x');
end

Utilizando este código, la codición siempre salta a "else", aún digitando el valor de y 1 2 3 4 5 6 7 o 9, por qué?

Por favor si alguien tiene la respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cómo verificar si un valor está en un vector?

Publicado por Jorge (226 intervenciones) el 26/03/2010 00:37:04
y es un escalar, x es un vector, por tanto la instrucción
if y == x
es siempre falsa.

Se puede resolver de muchas maneras.
Con tu mismo razonamiento, intenta esto:

x=[1 2 3 4 5 6 7 1 9]

fprintf('Por favor digite el valor de y: ');
y=input('');
if find(x==y)
fprintf('y esta en x');
else
fprintf('y no esta en x');
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar