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 :

Compter le nombre d'éléments uniques


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Compter le nombre d'éléments uniques
    Bonjour,

    j'ai un vecteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    X = [1 1 1 2 3 3 3 3 3 4 8 8]
    X_unique = unique(X)
    J'aimerais maintenant avoir un matrice du nombre d'élément unique X_nbr_elem_unique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    X_unique = [1 2 3 4 8]
    X_nbr_elem_unique = [3 1 5 1 2]
    ie : il y a trois 1, un 2, cinq 3, un 4, deux 8
    si vous avez une idée, merci !

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Une idée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    arrayfun(@(x) (numel(find(X==x))), X_unique);

  3. #3
    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

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    aie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>  X = [1 1 1 2 3 3 3 3 3 4 8 8];
    X_unique = unique(X);
    >> arrayfun(@(x) (numel(find(X==x))), X_unique)
     
    ??? Undefined command/function 'arrayfun'.
    merci quand même

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >> X = [1 1 1 2 3 3 3 3 3 4 8 8];
    X_unique = unique(X);
    X_nbr_elem_unique= histc(X,X_unique)
     
    X_nbr_elem_unique =
     
         3     1     5     1     2
    Merci !

  6. #6
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Citation Envoyé par Newenda Voir le message
    aie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>  X = [1 1 1 2 3 3 3 3 3 4 8 8];
    X_unique = unique(X);
    >> arrayfun(@(x) (numel(find(X==x))), X_unique)
     
    ??? Undefined command/function 'arrayfun'.
    merci quand même
    Normal parce que la fonction Arrayfun est apparue avec MATLAB 7.1 (R14SP3) alors que tu as une version plus ancienne la R14.
    Rappel des versions

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/09/2019, 23h36
  2. Réponses: 1
    Dernier message: 13/02/2007, 10h54
  3. Réponses: 2
    Dernier message: 21/10/2006, 11h26
  4. Réponses: 2
    Dernier message: 28/04/2006, 14h28
  5. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 14h01

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