Vecteur colonne

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

  • Votes
  • Date
  • Date décroissante
  1. 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,
    1. 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));
      1. bien joué, j'y ai pas pensé :p