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

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
etudianteetudiante Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
merci bien pour votre réponse
0