Vecteur colonne

amaram Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
zedzet Messages postés 18 Statut Membre -
Bonjour,
je veux créer un vecteur colonne (m,1) et puis le remplir d'une manière aléatoire par que deux valeurs : 0 ou 1 seulement.
Aidez moi SVP
Merci d'avance

2 réponses

  1. zedzet Messages postés 18 Statut Membre 8
     
    Bonjour,

    Rien de plus simple il suffit d'utiliser la fonction rand() qui donne des nombres compris entre 0 et 1 (suivant une loi uniforme) puis il faut tester par rapport à 0.5 (seuil de test).

    Exemple
    V = {0.1 , 0.3 , 0.7 ,0.25 , 0.9 , 0.15}
    après comparaison avec "0.5"
    V = {0 , 0 , 1, 0, 1,0}

    voici le code source équivalent :
    m = 12;
    V = rand(m,1);   % "m" lignes et 1 colonne
    
    %tester par rapport a "0.5":
    for k = 1:length(V)
        if(V(k)>= 0.5)
            V(k) = 1;
        else
            V(k)=0;
        end
    end
    
    disp(V);
    


    il y'a une autres méthode plus simple pour faire le test par rapport a "0.5", à vous de voir celle qui vous conviet :

    m = 12;
    V = rand(m,1);   % "m" lignes et 1 colonne
    
    % Tester par rapport a "0.5" rapide
    V = (V>=0.5)*1.0;
    disp(V);
    


    si vous utilisez ce programme pour faire des statistiques , je vous invite a consulter les différents fonction de qui génèrent des nombres aléatoires existant sur Matlab (utilisant différents lois de statistiques).


    source : https://fr.mathworks.com/help/matlab/random-number-generation.html

    Bonne courage,
    0
  2. amaram Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonsoir,

    Tout d'abord merci pour votre réponse.
    J'ai réussi à le faire.j'ai utilisé de même la fonction rand () mais au lieu de comparer à 0.5 j'ai utiliser la fonction round
    Le code est :
    bit=round(rand(m,1));
    0
    1. zedzet Messages postés 18 Statut Membre 8
       
      bien joué, j'y ai pas pensé :p
      0