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 :

Supprimer des lignes redondantes


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut Supprimer des lignes redondantes
    Salut, je cherche à supprimer des redondances de lignes au sein d'une matrice.
    J'ai déjà un début de programme, mais celui-ci ne tourne pas, et je n'arrive pas à voir pourquoi....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for i=n:-1:1;
        temp=(X(i,:))-(X(i-1,:));
        if temp == 0;
            temp(i,:) = [];
        else
            temp(i,:) = X(i,:)
        end
    end
     
    ???  Index of element to remove exceeds matrix dimensions.

  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 308
    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 308
    Points : 52 892
    Points
    52 892
    Par défaut
    Regarde la fonction UNIQUE et son argument 'rows'.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    C'est clair que c'est beaucoup plus simple que de passer par un programme. On m'avait dit que cela na marcherait pas avec unique.

    Donc en fait juste en entrant:
    Unique(fichier,'rows'), cela fonctionne.

    Tu pourrais juste m'éclairer de la signification du terme rows, s'il te plait?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    la possibilité de déterminer 'rows' te permet d'utiliser ta fonction "unique" là où tu le souhaites dans une matrice...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    Et lorsque je veux l'appliquer pour toute ma matrice, je ne spécifie pas, et je met juste 'rows'?

    Voilà à quoi ressemblent mes premières lignes

    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
    19
    20
    21
    22
    23
    24
        
        0.0689    0.0127    1.9310    0.0040    0.0664    0.0699   -1.2568    0.0347
        0.0547    0.0100    1.9530    0.0120    0.0760    0.0079    0.0067    0.0248
        0.0547    0.0100    1.9540    0.0110    0.0767    0.0079    0.0067    0.0248
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0005    0.0151   -0.0021    0.0369
        0.0450    0.0129    1.9550    0.0080         0      0.0368   -0.0269    0.0370
        0.0450    0.0129    1.9550    0.0080    0.0005    0.0368   -0.0269    0.0370
        0.0450    0.0129    1.9550    0.0080    0.0005    0.0368   -0.0269    0.0370    0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372
        0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372
        0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372    0.0450    0.0132    1.9550    0.0080    0.0007    0.0385   -0.0183    0.0372
        0.0448    0.0128    1.9550    0.0080    0.0005    0.0337   -0.0343    0.0369
        0.0448    0.0128    1.9550    0.0080    0.0007    0.0337   -0.0343    0.0369
        0.0448    0.0128    1.9550    0.0080    0.0007    0.0337   -0.0343    0.0369
        0.0446    0.0130    1.9550    0.0080    0.0004    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0440    0.0140    1.9550    0.0080    0.0004    0.0563   -0.0399    0.0378

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 308
    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 308
    Points : 52 892
    Points
    52 892
    Par défaut
    Citation Envoyé par Ptinéwik Voir le message
    Et lorsque je veux l'appliquer pour toute ma matrice, je ne spécifie pas, et je met juste 'rows'?
    Ben, ça coute rien d'essayer

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    X=[ 0.0689    0.0127    1.9310    0.0040    0.0664    0.0699   -1.2568    0.0347
        0.0547    0.0100    1.9530    0.0120    0.0760    0.0079    0.0067    0.0248
        0.0547    0.0100    1.9540    0.0110    0.0767    0.0079    0.0067    0.0248
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0002    0.0151   -0.0021    0.0369
        0.0455    0.0130    1.9550    0.0080    0.0005    0.0151   -0.0021    0.0369
        0.0450    0.0129    1.9550    0.0080         0    0.0368   -0.0269    0.0370
        0.0450    0.0129    1.9550    0.0080    0.0005    0.0368   -0.0269    0.0370
        0.0450    0.0129    1.9550    0.0080    0.0005    0.0368   -0.0269    0.0370
        0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372
        0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372
        0.0450    0.0132    1.9550    0.0080    0.0005    0.0385   -0.0183    0.0372
        0.0450    0.0132    1.9550    0.0080    0.0007    0.0385   -0.0183    0.0372
        0.0448    0.0128    1.9550    0.0080    0.0005    0.0337   -0.0343    0.0369
        0.0448    0.0128    1.9550    0.0080    0.0007    0.0337   -0.0343    0.0369
        0.0448    0.0128    1.9550    0.0080    0.0007    0.0337   -0.0343    0.0369
        0.0446    0.0130    1.9550    0.0080    0.0004    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0446    0.0130    1.9550    0.0080    0.0007    0.0536   -0.0416    0.0373
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0445    0.0127    1.9550    0.0080    0.0007    0.0330   -0.0388    0.0369
        0.0440    0.0140    1.9550    0.0080    0.0004    0.0563   -0.0399    0.0378];
     
    X=unique(X,'rows')

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    Non, mais j'avais déjà essayé et j'ai vu que ça marchait, mais je trouvais ça étonnant qu'il ne faille rien spécifier, alors je préférais savoir si je n'étais pas passé à côté de qqchose......

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/08/2008, 15h25
  2. Réponses: 4
    Dernier message: 26/07/2007, 11h35
  3. [Vb.Net][Datagrid] Impossible de supprimer des lignes
    Par SamRay1024 dans le forum Windows Forms
    Réponses: 19
    Dernier message: 11/04/2006, 16h28
  4. [VBA][Excel]supprimer des lignes vierges
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/01/2006, 13h17
  5. Shell pour supprimer des lignes d'un fichier
    Par nelsa dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/09/2004, 12h26

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