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 :

passage d'une boucle for à une matrice ou à plusieurs vecteurs


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    Par défaut passage d'une boucle for à une matrice ou à plusieurs vecteurs
    Bonjour à tous et à toutes

    voila j'ai réalisé un programme matlab qui permet de selectionner aléatoirement un nombre de bits entre 1 et 10, par exemple 3bits,
    à partir de la, je vais calculer le nombre de valeurs entières que je peux stocker : 2^3 = 8 valeurs.
    ces 8 valeurs je les convertis en binaire : 000 ; 001; 010; 011; 100; 101; 110; 111 et je veux à partir de matlab qu'il m'indique le nombre de fois que les 1 reviennent à au moins 50% du temps : dans notre cas on aurait 011 (il y'a deux 1); 101 (il y'a deux 1);110 (il y'a deux 1) et 111 (il y'a trois 1)

    je joins le programme MATLAB que j'ai réalisé ; je bloque juste après la génération de mes nombres.
    Encore merci pour votre aide
    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=10*rand()
    N=round(n)
     
    Nb_valeurs = 2^N;
     
    for i=0:Nb_valeurs-1 
        dec2bin(i,N)%conversion du  ième nombre  en binaire
        i=i+1; %incrémentation 
    end

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Par défaut
    Salut,
    une petite technique consiste à transformer le string que te renvoie dec2bin en un tableau de chiffres. La méthode num2str seule retournerait un seul grand nombre, donc on utilise la méthode arrayfun pour découper la procédure chiffre par chiffre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    decVal = dec2bin(i,N);
    arrVal = arrayfun(@(i) str2num(decVal(i)),1:N);
    Ensuite tu n'as plus qu'à compter les 1, avec sum par exemple.

  3. #3
    Membre averti
    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
    Par défaut
    Bonjour et merci bien pour ta réponse,

    Malgrés ça je n'ai pas tout à fait réussi à résoudre mon problème ,
    j'ai un peu simplifié mon programme , ce qui m'a permis de mieux mettre en évidence les difficultés que j'ai rencontré , et étant donné le titre que j'ai mis à cette discussion (qui n'est vraiment pas captivant ), j'ai relancé dans une autre discussion : " Compter le nombre d'élément contenant un chiffre donné dans plusieurs vecteurs".

Discussions similaires

  1. Passer d'une boucle FOR à une boucle WHILE
    Par mohsenuss91 dans le forum Langage
    Réponses: 6
    Dernier message: 01/05/2011, 14h54
  2. Réponses: 5
    Dernier message: 14/05/2008, 20h21
  3. Réponses: 1
    Dernier message: 22/04/2007, 16h51
  4. Portée d'une variable dans une boucle FOR ?
    Par Neo41 dans le forum C++
    Réponses: 20
    Dernier message: 17/11/2006, 11h14
  5. Problème avec une DLL dans une boucle For
    Par BraDim dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2005, 12h22

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