Matlab - Contar valores diferentes en un vector

   
Vista:

Contar valores diferentes en un vector

Publicado por Alejandro (2 intervenciones) el 09/04/2014 19:19:41
Cordial saludo,
En matlab genero un vector con un numero indeterminado de valores (pueden ser mas de 16000) y tengo que saber cuantos valores diferentes hay en el vector. Agradezco si me pueden colaborar.


Ejm.

vector=[0 3 0 5 7 8 4 0 0 0 3 8 5 ]

en este caso este vector tiene 6 valores diferentes.
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

Contar valores diferentes en un vector

Publicado por Joaquín (50 intervenciones) el 11/04/2014 16:34:20
Hola Alejandro, pues verás, yo lo haría con un histograma, en imágenes, un histograma cuenta cuantos veces se repite cierto valor en una matriz (siendo una imagen una matriz de pixeles) pero también hace los mismo con un vector

Puedes declarar tu vector "x", con valores tal vez aleatorios como tu dices, ejemplo x=[ 1 2 3 4 5 5 5 5 5 5 5 5]

Despues obtienes el valor mínimo y el máximo de tu vector de interés, siendo estos valores 1 y 5... CREAS un nuevo vector que vaya desde 1 hasta 5.. (su dimensión será de tantos valores como existan entre 1 y 5, con incrementos de unidad)

Y con el comando de "histc" (el histograma) se usan 2 vectores, el que quieres contar y el que toma como referencia de los valores a contar... el vector que creaste nuevo de 1 a 5 lo llamamos "y"

z=histc(x,y)

y obtendrás un vector de dimensiones de "y", y cada valor te dirá CUANTAS veces se repite ese valor de Y en el vector X. si el valor es 0, quiere decir que ese valor no está presente

Obteniendo Z, puedes hacer un pequeño ciclo FOR, y con un contador vas incrementando tu cuenta, si cada valor que tienes es diferente de 0, y así obtienes una suma de lo que andas buscando

De todos modos, te dejo imágenes y también te adjunto un código, espero te sirvan y te ayuden...

Saludos

Joaquín López



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

Contar valores diferentes en un vector

Publicado por Alejandro (2 intervenciones) el 15/04/2014 12:31:16
Cordial saludo Joaquin,
gracias por tu ayuda, pero cuando intento hacerlo sobre el vector que genero no me funciona, el vector que genero es de 16000 valores y tiene números decimales positivos y negativos. Te agradezco si me pueden colaborar.
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

Contar valores diferentes en un vector

Publicado por Joaquín (50 intervenciones) el 15/04/2014 15:55:44
Pensé que eran números enteros! :P

Pues sube tu código, o la parte donde generas ese vector, probablemente la lógica es la misma.... lo que yo te puse funciona para números enteros....espero lo hayas corrido y veas mas o menos, como funcionaba ese programa

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