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

Algorithmes et structures de données Discussion :

Vecteurs les plus proches


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 31
    Points : 18
    Points
    18
    Par défaut Vecteurs les plus proches
    Bonjour,

    Je dispose d'une liste d'angles triée dont les éléments theta_i sont entre -pi et pi. Je note v_i=(cos theta_i,sin theta_i) le vecteur élémentaire correspondant. Je souhaite étant donné un vecteur élémentaire quelconque V, déterminer les vecteurs v_i proches de +/- epsilon de V.

    La première idée naïve consiste donc à parcourir tous les v_i et à vérifier si leur produit scalaire avec V est plus petit que epsilon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    V = [cos x sin y];
    for i=1:n 
         vi = [cos(theta(i+1)) sin(theta(i+1))];
         anglediff = acos(dot(vi,V));
         if abs(anglediff)<epsilon
            OK;
         end if;
    end for;
    Mais j'imagine qu'il doit y avoir bien plus efficace si on exploite la structure de la liste des angle theta_i (triée ou en arbre je ne sais pas ce qui est mieux), comme la recherche dichotomique...

    Qu'en pensez-vous ?

    PS : j'utilise les vecteurs plutôt que les angles pour traiter les cas où un angle est proche de -pi et l'autre de pi, auquel cas les vecteurs sont effectivement proches.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Etant donné que ta liste des angles est triée, une simple recherche dichotomique doit pouvoir te donner un résultat en log(n)

Discussions similaires

  1. Trouver coordonnées x/y les plus proches
    Par tet2brick dans le forum Requêtes
    Réponses: 5
    Dernier message: 20/02/2009, 15h33
  2. Clients les plus proches
    Par doudoubapt dans le forum SAS STAT
    Réponses: 9
    Dernier message: 19/01/2009, 18h29
  3. Trouver les X nombres les plus proche d'un nombre donné
    Par pyrou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/07/2007, 08h53
  4. [Algo] Les K voisins les plus proches
    Par GyZmoO dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 25/05/2007, 11h33
  5. [MySQL] Extraire les 50 valeurs les plus proches d'un entier
    Par denis.ws dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/01/2007, 08h42

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