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 :

Renvoyer lignes correspondant à un critère sur les colonne


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut Renvoyer lignes correspondant à un critère sur les colonne
    Bonjour à tous,

    J'ai un petit trou de mémoire là.
    Je chercher à récupérer toutes les lignes de la matrice suivante où il y a 1 dans la 7ième colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    liste_I =
     
        1.0000    0.6491    0.6491    4.4716         0    1.0000         0
        2.0000    3.7278         0    3.7432   80.0000         0    1.0000
        3.0000    7.8617    7.8617    7.8683         0    1.0000         0
        4.0000    9.8515    9.8515   11.8381         0    1.0000         0
        5.0000   12.1970   12.1970   12.7721         0    1.0000         0
        6.0000   14.1979   14.1979   14.8111         0    1.0000         0
        7.0000   15.1531   15.1531   16.9899         0    1.0000         0
        8.0000   17.5731   17.5731   19.5612         0    1.0000         0
        9.0000   21.5110   21.5110   22.2770         0    1.0000         0
       10.0000   22.2290   22.2770   22.4956         0    1.0000    1.0000
    Je pensai que : suffisait..
    petit trou de mémoire

    Merci à ceux qui pourront m'aider

  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
    Il manque juste un petit quelque chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a = (liste_I(:,7)==1, :);
    Voir : L'opérateur :
    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
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    Merci mais ça n'a pas l'air de marcher..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    liste_I =
     
        1.0000    2.8568    2.8568    3.4603         0    1.0000         0
        2.0000    4.4258    4.4258    4.4616         0    1.0000         0
        3.0000    4.4791    4.4791    4.5090         0    1.0000         0
        4.0000    6.7469    6.7469    7.4697         0    1.0000         0
        5.0000    6.8006         0         0   82.0000         0         0
        6.0000    7.0741         0    7.1906   80.0000         0    1.0000
        7.0000    8.1337    8.1337    8.5557         0    1.0000         0
        8.0000    8.1845         0    8.2186   80.0000         0    1.0000
        9.0000   12.2746   12.2746   12.5520         0    1.0000         0
       10.0000   12.7502   12.7502   13.6861   70.0000    1.0000         0
       11.0000   13.1146         0         0   73.0000         0         0
     
    K>> a = (liste_I(:,7)==1, :);
    ??? a = (liste_I(:,7)==1, :);
                            |
    Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 173
    Points : 67
    Points
    67
    Par défaut
    There we go :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     a = liste_I(find(liste_I(:,7)==1),:)
    Merci

  5. #5
    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
    Désolé mais ma réponse était incomplète

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >> a = liste_I(liste_I(:,7)==1, :)
     
    a =
     
        2.0000    3.7278         0    3.7432   80.0000         0    1.0000
       10.0000   22.2290   22.2770   22.4956         0    1.0000    1.000
    Pas besoin d'utiliser find ici.
    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)

Discussions similaires

  1. [PROC] Tri sur les colonnes pour chaque ligne
    Par san25 dans le forum SAS Base
    Réponses: 2
    Dernier message: 02/10/2013, 11h25
  2. Réponses: 13
    Dernier message: 05/02/2013, 16h43
  3. [XL-2007] trier et regrouper sur les lignes comme sur les colonnes
    Par pascual dans le forum Conception
    Réponses: 1
    Dernier message: 13/07/2012, 18h00
  4. [AC-2003] operation sur les ligne et non pas sur les colonnes
    Par omarnigth dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 21/11/2011, 21h25
  5. Double Incrémentation 1 sur les lignes 1 sur les colonnes
    Par MatMout dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/07/2010, 17h35

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