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 contenant un chiffre donné dans plusieurs vecteurs


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    docteur
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : docteur

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut Compter le nombre d'éléments contenant un chiffre donné dans plusieurs vecteurs
    Bonjour,

    J'ai aussi 2 questions par rapport à cette discussion: voila mon programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    clear all
    close all
     
     
    n=3
    M=[0 : (2^n)-1]
    M'
    A=dec2bin(M')
     
    for i=1 : (2^n)
        A_i=A(i,: )
    end
    Dans un premier temps j'aimerai comprendre pourquoi d'après mon programme lorsque je l’exécute , j'ai un même vecteur A_i au lieu d'avoir : A_1; A_2; A_3; A_4 ..... A_8 ?
    et dans un second temps j'aimerais aussi compter les 1 de mes différents vecteurs crées, j'ai essayé les deux fonctions proposées au dessus ( sum(A_i(: )==1) et length(find(A_i==1)) ) mais j'ai un message d'erreur.

    Est ce que quelqu'un pourrait me débloquer s'il vous plait ?
    Encore merci bien

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Encore et toujours la FAQ à consulter avant de poser une question
    Comment créer des variables nommées A1, A2, A3, ..., AN ?

    Attention de plus 1 (valeur numérique) est différent de '1' (le caractère).
    Les crochets M=[0 : (2^n)-1] sont inutiles ici, tu n'effectues aucune concaténation.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    docteur
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : docteur

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Bonjour Winjerome et merci pour les conseils,
    j'ai bien regardé la rubrique vers laquelle vous m'avez aiguillé et testé les programmes en essayant de les adapter à mon programme, cela dit le résultat obtenu n'est pas celui que j'attends, en effet au moment de la compilation j'obtiens ce genre de résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    B = 
     
        [1]
     
    B = 
     
        [1]    [1x2 double]
     
    B = 
     
        [1]    [1x2 double]    [1x3 double]
    tandis que lorsque je compile le programme réalisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    n=5
    M=0 : (2^n)-1;
    M';
    A=dec2bin(M');
     
    for i=1: (2^n)
        A_i=A(i,: )
        B=sum(A_i( : )=='1');
     
    C=sum(A_i(: )==' 0 ');
     
    D=B+C;
     
    end
    j'obtiens 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    A_i =
     
    000
     
     
    A_i =
     
    001
     
     
    A_i =
     
    010
     
     
    A_i =
     
    011
     
     
    A_i =
     
    100
     
     
    A_i =
     
    101
     
     
    A_i =
     
    110
     
     
    A_i =
     
    111
    Est ce que ça n'est vraiment pas possible d'obtenir A_1=000
    A_2=001 A_3=010.... A_8=111 ??

    l'idée c'est ensuite en utilisant B=sum(A_i(: )==' 1 '); de dire combien de 1 chaques vecteurs possedent puis de faire un algorithme permettant d'afficher seulement les vecteurs qui ont au moins 60% de 1 sur l'ensemble des chiffres :
    pour n=5
    par exemple A_30=11110 il y'a quatre 1 sur 5 chiffres et ce vecteur doit être affiché.

    Voila, merci bien

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titi_du_34 Voir le message
    j'ai bien regardé la rubrique vers laquelle vous m'avez aiguillé
    À la vue de cette question :
    Citation Envoyé par titi_du_34 Voir le message
    Est ce que ça n'est vraiment pas possible d'obtenir A_1=000 A_2=001 A_3=010.... A_8=111 ??
    Je dirais pas assez

Discussions similaires

  1. Réponses: 10
    Dernier message: 20/09/2019, 23h36
  2. Réponses: 3
    Dernier message: 28/03/2010, 16h05
  3. Réponses: 2
    Dernier message: 28/04/2006, 14h28
  4. 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