Definir centroide para grupo de puntos
Publicado por mariel (4 intervenciones) el 10/10/2012 07:22:32
Hola, quisiera saber si alguien puede ayudarme un poco
Tengo una serie de archivos que contienen coordenadas 'x' y 'y' asi como una velocidad para cada una de estas coordenadas. Lo que estoy haciendo es buscar las velocidades que se encuentran dentro de un rango preestablecido (en este caso de 0.9 a 2.5) y separar estas velocidades del resto de los datos junto con las coordenadas 'x' y 'y' que le corresponden. Esto lo hice con este código:
datos=dir('GPS*.csv');
for k=1:numel(datos)
A=xlsread(datos(k).name);
vel=A(:,5);
vel1=find (0.9<vel & vel<=2.5);
var=A(vel1,:);
name=datos(k).name;
cd(directorio2); %define el directorio donde se guardaran las variables filtradas
save([name],'var','-ascii','-tabs')
cd(directorio); %define directorio donde estan las variables originales
end
Entonces ahora tengo varios grupos de puntos que cumplen estas velocidades, mi problema es que necesito elegir un punto que sea representativo de cada uno de los grupos de puntos que se han creado. Por ejemplo que me diera un punto en el centro, entiendo que puedo usar k-means pero no se como hacerle para definir k clusters ya que esto dependerá del numero de grupos de puntos que me genere el for anterior.
Espero haberme explicado, no se si se pueda hacer lo que necesito pero ojala alguien pueda ayudarme.
Tengo una serie de archivos que contienen coordenadas 'x' y 'y' asi como una velocidad para cada una de estas coordenadas. Lo que estoy haciendo es buscar las velocidades que se encuentran dentro de un rango preestablecido (en este caso de 0.9 a 2.5) y separar estas velocidades del resto de los datos junto con las coordenadas 'x' y 'y' que le corresponden. Esto lo hice con este código:
datos=dir('GPS*.csv');
for k=1:numel(datos)
A=xlsread(datos(k).name);
vel=A(:,5);
vel1=find (0.9<vel & vel<=2.5);
var=A(vel1,:);
name=datos(k).name;
cd(directorio2); %define el directorio donde se guardaran las variables filtradas
save([name],'var','-ascii','-tabs')
cd(directorio); %define directorio donde estan las variables originales
end
Entonces ahora tengo varios grupos de puntos que cumplen estas velocidades, mi problema es que necesito elegir un punto que sea representativo de cada uno de los grupos de puntos que se han creado. Por ejemplo que me diera un punto en el centro, entiendo que puedo usar k-means pero no se como hacerle para definir k clusters ya que esto dependerá del numero de grupos de puntos que me genere el for anterior.
Espero haberme explicado, no se si se pueda hacer lo que necesito pero ojala alguien pueda ayudarme.
Valora esta pregunta
-1