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 :

Distance euclidienne entre deux vecteurs


Sujet :

MATLAB

  1. #1
    Membre habitué Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Points : 197
    Points
    197
    Par défaut Distance euclidienne entre deux vecteurs
    Salut,
    j'ai écrit cette fonction pour calculer la distance euclidienne entre un vecteur x et un vecteur v. Je doit calculer la distance de chaque élément de x par rapport à tous les éléments de v.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function d=eucldist(v,x,c,M)
     for i=1:M,
         d(i,:)=abs(v(:)-x(i));
     end
    M:taille du vecteur x et c taille du vecteur v
    Je dois avoir par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    >>a=[4 6 0 8 9];
    >>b=[10 20];
    >> d=eucldist(b,a,2,5)
     
    d =
     
         6    16
         4    14
        10    20
         2    12
         1    11
    J'aimerais savoir si il y 'a un moyen d'améliorer mon code

    Merci d'avance
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

  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 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a=[4 6 0 8 9];
    b=[10 20];
    d=abs([b(1)-a(:) b(2)-a(:)])
    Mais l'exemple est peut-être trop simple ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre actif Avatar de LordPeterPan2
    Inscrit en
    Février 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function d=eucldist(v,x,c,M)
    % v vecteur 1xc et x vecteur 1xM 
    d = abs(ones(M,1)*v-x'*ones(1,c))
    Ils ne savaient pas que c’était impossible, alors ils l’ont fait

  4. #4
    Membre habitué Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Points : 197
    Points
    197
    Par défaut
    Salut,
    LordPeterPan2 ton code m'a permit de gagner en rapidité, car le vecteur x est trés grand. Merci
    Merci aussi Dut
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. distance euclidienne entre deux images
    Par chercheur111 dans le forum Images
    Réponses: 9
    Dernier message: 14/06/2011, 18h04
  2. Réponses: 1
    Dernier message: 03/05/2011, 18h02
  3. Distance euclienne entre deux vecteurs
    Par stefsas dans le forum SAS STAT
    Réponses: 1
    Dernier message: 29/08/2008, 10h02
  4. Distance euclidienne entre deux vecteurs
    Par soumiaguelma dans le forum MATLAB
    Réponses: 3
    Dernier message: 26/04/2008, 10h32

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