Créer un vecteur en matlab

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. Modérateur
    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. merci bien pour votre réponse
      0