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 :

[Débutante] Calculer le nombre de fois qu'apparait un nombre


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut [Débutante] Calculer le nombre de fois qu'apparait un nombre
    Bonjour,

    Je cherche à calculer le nombre de fois qu'apparait un nombre toutes les deux colonnes dans une matrice numérique sachant que je dois présenter ces résultats dans un tableau avec les chiffres qui suivent par pas de un du nombre minimal au nombre maximal.
    sachant aussi que je connais le minimal et maximal par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Max=max(reshape(A,[],size(A,2)/2))
    Min=min(reshape(A,[],size(A,2)/2))
    Ex de matrice A:
    4 2 3 6
    2 3 1 1
    4 2 2 2
    Résultat attendu sous forme de tableau n='nombre':
    n1 0 2
    n2 3 2
    n3 1 0
    n4 2 0
    n5 0 0
    n6 0 1

  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 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
    Comme ceci :
    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
    A=[4 2 3 6
    2 3 1 1
    4 2 2 2]
     
    % maxA=max(reshape(A,[],size(A,2)/2))
    % minA=min(reshape(A,[],size(A,2)/2))
     
    maxA=max(A(:));
    minA=min(A(:));
     
    reshA=reshape(A,[],size(A,2)/2);
     
    nT=zeros(maxA-minA+1,size(A,2)/2);
     
    for n=minA:maxA
     
        nT(n,:)=sum(reshA==n);
     
    end
     
    nT
    Sinon, il faudra quand même faire l'effort de produire du code car il n'est jamais facile de comprendre du code tout fait lorsqu'on débute

  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
    Par défaut
    Sinon... la version optimisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    A=[4 2 3 6
    2 3 1 1
    4 2 2 2]
     
    maxA=max(A(:));
    minA=min(A(:));
     
    reshA=reshape(A,[],size(A,2)/2);
     
    nT=histc(reshA,minA:maxA)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    Monsieur Dut,

    ne soyez pas si méchant avec moi, car avant de poser la question j'essaie et je fais du code mais rien ne marche car je suis trop nulle et que j'ai trop honte de montrer ce que je fais

  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 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
    Citation Envoyé par natach Voir le message
    ne soyez pas si méchant avec moi,
    Allons, si j'étais méchant, je n'aurais pas répondu à la question... d'ailleurs je ne serais pas Responsable ici (oh les fleurs...)

    Il n'y a rien de mal à débuter. En montrant votre code (même si vous le jugez nul), vous permettez aux utilisateurs du forum de vous répondre plus facilement et plus efficacement et surtout, vous leur permettez de détecter d'autres erreurs de... débutants

    Donc vous êtes doublement gagnante

    [Edit] A ce sujet, il est déconseillé de donner des noms comme max ou min à des variables (même avec des majuscules) car ce sont déjà des noms de fonctions MATLAB.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 11
    Par défaut
    merci beaucoup pour tous

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

Discussions similaires

  1. Macro pour compter le nombre de fois qu'apparait un mot dans une feuille
    Par arno1975 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/02/2014, 09h27
  2. [XL-2010] Compter le nombre de fois qu'apparait un texte dans une plage de donnée nommée
    Par saloupio dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 31/01/2014, 08h17
  3. Réponses: 2
    Dernier message: 22/01/2009, 10h12
  4. Réponses: 6
    Dernier message: 25/11/2007, 12h46

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