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 :

comparaison 2 matrices


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 62
    Points
    62
    Par défaut comparaison 2 matrices
    Bonjour,

    Voici mon prob : j'ai 2 matrices A et B

    Soit par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A = [ 1 2 3; 4 5 6; 7 8 9; 1 4 8; 7 5 8]
    B = [8 1]
    J'aimerai bien ne garder que les lignes de A où figure une valeur de B

    J'ai réussi à faire cela grâce à la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [i,j] = find (A == B(1,:)); 
    Tab1 = A(i,:)
     
    [k,l] = find (A == B(2,:)); 
    Tab2 = A(k,:)
     
    TabTotal = [Tab1;Tab2]

    Cependant mes matrices A (m*3) et B (n*1) sont très grandes (m et n~1000) et il est impensable de recopier 1000 fois cette ligne. J'ai essayé avec une boucle for mais j'arrive pas à conserver tous les résultats (le résultat final est en fait le dernier résultat)

    Quelqu'un aurait-il une idée ?

    D'avance je vous remercie...

    Bernard

  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 : 53 166
    Points
    53 166
    Par défaut
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    A = [ 1 2 3; 4 5 6; 7 8 9; 1 4 8; 7 5 8]
    B = [8 1]
     
    A(any(ismember(A,B),2),:) % A décomposer pour mieux comprendre
    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 du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 62
    Points
    62
    Par défaut


    Un grand merci à vous ! Ca marche !


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

Discussions similaires

  1. [Débutant] comparaison de matrices
    Par TZoaldiek dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/06/2013, 08h53
  2. Réponses: 2
    Dernier message: 06/03/2013, 06h51
  3. Comparaison de matrices
    Par zaiim dans le forum Mathématiques
    Réponses: 7
    Dernier message: 15/02/2009, 19h31
  4. Comparaison de deux matrices sans boucle for
    Par zicos dans le forum MATLAB
    Réponses: 8
    Dernier message: 04/05/2007, 18h16

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