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 :

Données d'une matrice - Effectifs


Sujet :

MATLAB

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Par défaut Données d'une matrice - Effectifs
    Bonjour à toutes et à tous!
    Mon problème est le suivant , j'ai une matrice de données comportant n lignes et 2 colonnes (X Y):
    X--Y
    10--5
    3--4
    10--5
    . .
    . .
    . .
    1--9
    Je souhaite connaître les effectifs de chaque couple de valeurs (X Y) dans cette matrice, par exemple (10 5) est présent 2 fois, idem pour tous les couples (X Y).
    Existe-t-il une fonction particulière ou quelques lignes de code simple permettant de trouver les effectifs de chaque couple (X Y) de la matrice?
    D'avance merci pour votre aide !!!!

  2. #2
    Membre émérite
    Avatar de rostomus
    Homme Profil pro
    Doctorant électronique et traitement du signal
    Inscrit en
    Décembre 2006
    Messages
    791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant électronique et traitement du signal

    Informations forums :
    Inscription : Décembre 2006
    Messages : 791
    Par défaut
    Salut,

    Essaie la fonction hist3.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 56
    Par défaut
    Merci!
    J'ai aussi trouvé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     A = [100 2;100 3;90 2;115 10;70 8;90 2;90 2;85 5;85 5;100 2]
    [U,a,b] = unique(A,'rows');
    for i=1:size(U,1)
            Test(i,:)=[U(i,:) numel(find(b==i))];
    end
    Test

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Le code peut être optimisé (pour les problèmes de grandes dimensions) en remplaçant la boucle FOR-END par la fonction HISTC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    A = [100 2;100 3;90 2;115 10;70 8;90 2;90 2;85 5;85 5;100 2]
    [U,a,b] = unique(A,'rows');
    Test=[U histc(b,1:size(U,1))]

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/03/2010, 15h05
  2. Réponses: 4
    Dernier message: 20/05/2008, 09h41
  3. Réponses: 6
    Dernier message: 05/05/2008, 15h19
  4. Réponses: 2
    Dernier message: 06/03/2008, 10h42
  5. [Débutant] Recupérer des données d'une matrice
    Par niolon dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/10/2007, 19h49

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