Bonjour tout le monde,

Je n'arrive pas a coder une certaine fonction. Il doit y avoir une solution simple mais je ne connais sans doute pas assez les fonctions matlab (desole d'avance pour le manque d'accents dans ce post, le clavier que j'ai actuellement, n'en a pas).

Avant de vous dire le but de la fonction, je vais preciser les donnees manipulees.

Le but du projet sur lequel je travail est de faire du clustering sur N donnes. Pour ce faire je manipule une matrice de similarite 's', symetrique de taille NxN de telle sorte que s(i,j) = s(j,i) = similarite entre la donnee i et la donnee j.

J'ai effectue un 10-ppv (10 plus proche voisin), afin de garder pour chaque donnee ses 10 plus proches voisins. Ainsi :
s_10ppv(i,j) = s(i,j) si i est un 10ppv de j ou si j est un 10ppv de i ;
s_10ppv(i,j) = 0 sinon.

Comme N est grand, la matrice 's_10ppv' comprend maintenant beaucoup de 0. Le but de la fonction est de determiner les clusters ainsi formes. La fonction doit donc prendre en entree s_10ppv et fournir en sortie un vecteur d'entiers 'c' de taille Nx1 de telle sorte que si c(i) = c(j), i et j sont dans le meme cluster.

A partir de ca je ne sais pas comment proceder... Auriez vous des idees ? Si je n'ai pas ete assez clair sur certains points n'hesitez pas a me demander des precisions.

Merci d'avance !