Calcul distance entre points & matrice matlab
roudoudounette
-
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 4122 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dispose de 13 points possédant chacun des coordonnées (x,y). Je souhaiterais créer une matrice de 13 sur 13 représentant l'inter-distance entre chacun de ces points.
Etant donné que je débute sur Matlab, quelqu'un peut-il me donner un petit coup de pouce?
Merci beaucoup,
A bientôt
Je dispose de 13 points possédant chacun des coordonnées (x,y). Je souhaiterais créer une matrice de 13 sur 13 représentant l'inter-distance entre chacun de ces points.
Etant donné que je débute sur Matlab, quelqu'un peut-il me donner un petit coup de pouce?
Merci beaucoup,
A bientôt
Configuration: Windows XP Firefox 3.0.15
1 réponse
-
bon alors naturellement, à la case i,j de ta matrice tu mettras la distance entre le ième vecteur et le jème vecteur. Donc tu as tes vecteurs à la suite dans une matrice V.
V = [v1 v2 v3 ... v13] un truc du genre (ou avec des points virgules, selon si tu as des vecteurs ligne ou colonne.)
Ensuite pour remplir ta matrice, on va faire une méthode basique (peut-être pas très optimisée) :
une boucle sur i et une boucle sur j avec des "for".
(je ne suis plus sûr de la syntaxe de for là tout de suite, vérifie dans l'aide ou dans ton cours!)
Distances=zeros(13); %initialisation de la matrice for i=[1:13] do for j=[1:13] do %ici pour chaque couple i et j on calcule la distance entre le vecteur i et le j %selon si tes vecteurs sont les lignes de M ou les colonnes de M il faut peut-être inverser les i j et les : Distances(i,j) = norm(V(i,:)-V(j,:)); end do end do
comme je l'ai dit j'ai un trou au niveau du for, vérifie la syntaxe.