IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Calcul de distances


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Calcul de distances
    Bonjour à tous,


    Je dipose d'un vecteur qui contient des coordonnées de points. J’aimerais calculer pour chacun d’entre eux la distance aux autres points et si celle-ci est inférieure à une distance 'd' alors placer cette distance dans un vecteur. Ce dernier serait donc constitué d’un nombre de lignes égal au nombre de points et le nombre de distances sur chaque ligne renseignera sur le nombre de points situés à une distance inférieure à 'd'.

    je bloque un peu sur l'écriture du script...

    Merci d'avance.

    Piet

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    As-tu commencer à coder quelque chose ?

    Comment calcules-tu déjà la distance entre 2 points ?
    Une fois que tu as cela il suffit de boucler sur ton vecteur, quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    distances=[];
    for k=1:length(V)-1
      d=calcul_distance(V(k),V(k+1));
      if d < seuil
         distances(end+1)=d;
      end
    end

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    en fait, ce sont les distances euclidiennes qui m'intéressent
    j'avais tapé les écritures suivantes mais je n'ai aucune idée si c'est correct

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     for n=1:N
       if pdist(XY,'euclidean')<14
          Z(n)=pdist(XY,'euclidean')
       end
    end
    où XY est mon vecteur contenant les coordonées des points

    merci pour ton aide, je vais tester cela ce soir

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Attention tu n'as pas mis d'indice à XY. Donc pdist(XY,'euclidean') aura toujours la même valeur à chaque itération de ta boucle et de plus donne un vecteur.
    De plus la façon dont tu fais va donner un vecteur Z de taille 1*N avec des 0 quand la condition ne sera pas respectée et je n'avais pas l'impression que c'était ce que tu souhaitais.

    J'ai regardé un peu la doc de pdist : elle a l'air de prendre en entrée une matrice plutôt qu'un vecteur...
    De quelle taille est XY ?

    Une idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Z=pdist(XY,'euclidean');%donne un vecteur tel que décrit dans la doc
    Z(Z<14)=[];%enlève de Z toutes les valeurs inférieures à 14

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    il y a environ 2800 points

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    XY est de type (2x2800)

  7. #7
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Citation Envoyé par Polybead Voir le message
    XY est de type (2x2800)
    Donc c'est bien une matrice
    C'était juste un problème de vocabulaire, un vecteur n'est finalement qu'une matrice spécifique à 1 dimension : 1*N.
    La méthode que je t'ai donnée devrait donc fonctionner.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    oui en effet, désolé j'avais vu que j'avais indiqué vecteur mais c'est en effet une matrice

Discussions similaires

  1. calculer la distance qu'il y a entre une div et le bas de page
    Par Henry9 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2007, 00h33
  2. Problème et questions sur un calcul de distance
    Par ale2000 dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 11/09/2007, 20h33
  3. Calculer des distances géodésiques
    Par ToTo13 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 30/11/2006, 08h59
  4. Calcul de distance entre deux points en WGS84
    Par marieR dans le forum Langage
    Réponses: 5
    Dernier message: 03/08/2006, 17h07
  5. [GEOMETRIE] calcul de distance dans un triangle
    Par gronaze dans le forum Mathématiques
    Réponses: 10
    Dernier message: 29/06/2006, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo