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 :

Optimisation calcul de distance


Sujet :

MATLAB

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut Optimisation calcul de distance
    Bonjour,
    J'ai deux matrices, A(n lignes,3 colones) et B(m lignes,3 colones). Je souhaite connaitre la distance minimum de chaque point de A avec l'ensemble des points de B. Pour l'instant j'ai une boucle qui ralenti enormément mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:n
        dist=min(sqrt((B(:,1)-A(i,1)).^2+(B(:,2)-A(i,2)).^2+(B(:,3)-A(i,3)).^2))
    end
    Je recherche un moyen d'éliminer cette boucle, si quelqu'un à une idée, merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317

  3. #3
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Quelques pistes...

    Pour une solution 'brute force' sous matlab, tu peux utiliser 'repmat' puis calculer toutes les distances d'un coup et ensuite faire un 'sort'.
    Si c'est toujours trop lent tu peux le faire dans une fonction MEX..
    Si c'est toujours trop lent, essaye une structure de donnes plus appropriee a ton probleme: par ex: kd-tree, hashed-grid, etc..

    Salutations,

    Greg

Discussions similaires

  1. [Débutant] Optimisation d'un programme de calcul de distance
    Par benoth08 dans le forum MATLAB
    Réponses: 2
    Dernier message: 26/09/2013, 13h51
  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