Bonjour a tous,
J'ai une liste de 152 points (2D) et je souhaiterais ranger ces points de façon à ce que la suite des points soit les plus près les uns les autres. par exemple:
Code :
M= 1 3 6 2 5 8 9 7
1 3 6 2 5 8 9 7soient range de telle façon:
Code :
V= 1 2 3 5 6 7 8 9
1 2 3 5 6 7 8 9(2;2) est de tous les points le plus proche de (1;1), il vient donc juste après (1;1).
Ce que j'ai réussi a faire (je suis encore très débutant) est de calculer le vecteur "distance x" et "distance y" entre tous les points pour une matrice quelconque et ensuite l'adapter a ma grande matrice:
Code :
Mais pour après je tourne en rond et ne trouve pas de solution: je cherche a calculer la distance entre un point et tous les autres, prendre la distance la plus courte et ranger le point (coordonée) dans ma matrice et ainsi de suite pour tous les points, afin que la matrice soit rangée dans le sens ou les points sont le plus èpossible du point précédent... J'espère que vous voyez mon problème et que vous pourrez me donner un coup de main.Code:C=[5 2 6 7 6 4;5 4 5 1 8 7] % Loop all the points for i=1:5 % Get the distance from i to j for j=1:5 if j~=i X(i,j)=C(1,j)-C(1,i); Y(i,j)=C(2,j)-C(2,i); end end end
En fait c'est comme un dessin pour les enfants où ils doivent relier les points avec les numéros. Dans mon cas, les numéros seraient les distances entre les points.
Merci
-----