Matlab - buscar valor en un vector

   
Vista:

buscar valor en un vector

Publicado por Victor (9 intervenciones) el 19/10/2009 20:06:16
Hola, necesito encontrar un valor dentro de un vector de 1000 datos aprox... por ejemplo necesito encontrar el valor x=5.567 y necesito dentro del vector el valor mas cercano a este(osea x).. lo he intentado pero aun no encuentro como hacerlo... si me pueden ayudar seria de mucha utilidad.. gracias
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:buscar valor en un vector

Publicado por cucu (38 intervenciones) el 19/10/2009 23:17:34
hola, para buscar un valor se utiliza la función find, en tu caso, (el vector se llama y) find(y==5.567).

en cuanto al valor más cercano, yo restaría el valor a todo el vector, le haría el valor absoluto , y buscaría el mínimo (evitando el cero).

algo así, y2 = abs(y-5.567*ones(1,tamano)) %suponiendo que y es un vector.
ahora como sabes las posiciones del cero lo eliminas y2(1,posicion) = [];

y el mínimo min(y2)

espero uqe te sirva. Saludos
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

RE:buscar valor en un vector

Publicado por victor (9 intervenciones) el 20/10/2009 00:05:03
Muchas gracias, pero necesito tambien encontrar la posicion en el que esta en el vector... se puede?
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

RE:buscar valor en un vector

Publicado por cucu (38 intervenciones) el 20/10/2009 10:15:19
claro, mira la help de find, si pones [fila, columna] = find (Y=5.5) se almacenan las posiciones, o si solo pones un valor el índice (útil si es un vector) o... mira la help hay un montón de opciones y seguro que encuentras la más adecuada.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:buscar valor en un vector

Publicado por Christian (6 intervenciones) el 24/08/2016 00:27:44
Genio!! Gracias.
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

RE:buscar valor en un vector

Publicado por Jorge (226 intervenciones) el 20/10/2009 04:27:36
Has pensado en la función 'find'?

IX = find(A > 100) te devolvería los índices de A con elementos mayores a 100.
Puedes definir la expresión que te convenga...

IX = find(A == 5.3)
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

buscar valor en un vector

Publicado por ale (1 intervención) el 06/06/2013 14:25:55
hola! pudiste solucionar este tema... yo ando necesitando lo mismo... encontrar el indice de un del valor mas cercano a otro.
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

buscar valor en un vector

Publicado por andr1u (1 intervención) el 31/07/2013 17:02:40
Hola si quieres buscar un valor en un vector haces:

find(valor);
y si quieres buscar la posición haces

find(vector==valor);

por ejempo si tienes un vector "y" y estas buscando un 5 en el vector y su posición, haces:

find(y==5)
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

buscar valor en un vector

Publicado por rupert (1 intervención) el 03/05/2014 02:44:09
hola: ando buscando algo parecido
tengo una matriz del estilo
x y z valor
[1 1 1 20
1 1 2 25
1 1 3 30
1 1 4 35]
y necesito a partir de la anterior, crear una matriz que al poner x=1 y = 1 z = 2 me arroje el valor 25
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

buscar valor en un vector

Publicado por natalia (1 intervención) el 14/05/2014 00:41:07
Hola! yo lo solucioné así
1º le resto el valor que ando buscando (vlon) a la matriz en la que lo estoy buscando (lon) que es de 105*90 (por eso después lo multiplico por el ones para crear una matriz con las diferencias)

A= abs(lon-vlon*ones(105,90));

Luego pillo la ubicación [x,y] dentro de la matriz del valor con la menor diferencia

[x,y]=find(A==min(min(A)))
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