Créer un vecteur en matlab

etudianteetudiante Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
etudianteetudiante Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je veux créer un vecteur qui contient 4 uns et 21 zeros
l'emplacement de zeros est aléatoire
j'ai essayé avec la fonction randint mais l'apparaition des zeros et des uns n'est pas comme je veux
comment faire svp?
merci d'avance
cordialement

1 réponse

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Essaye de t'inspirer de:
    cnt = 4 ;
    V = zeros(1,25);
    S = ones(25,1);
    
    sum = 0;
    while ( sum < cnt )
        j =floor( 1 + 25  * rand(1));
    #  disp(j);
        V(j) = 1;
        sum = V * S;
    endwhile
    disp(V);

    Testé sous GNU/Octave 4.0.1
    Tu peux éventuellement remplacer S par un vecteur de pondération de ton choix.

    Gates gave ^W  sold  you the windows.
    GNU gave us the whole house.(Alexandrin)
    0
    1. etudianteetudiante Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
       
      merci bien pour votre réponse
      0