Créer un vecteur en matlab

Fermé
etudianteetudiante Messages postés 20 Date d'inscription samedi 19 avril 2014 Statut Membre Dernière intervention 23 mai 2016 - 25 avril 2016 à 18:38
etudianteetudiante Messages postés 20 Date d'inscription samedi 19 avril 2014 Statut Membre Dernière intervention 23 mai 2016 - 26 avril 2016 à 17:31
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 dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
Modifié par jisisv le 26/04/2016 à 16:48
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 samedi 19 avril 2014 Statut Membre Dernière intervention 23 mai 2016
26 avril 2016 à 17:31
merci bien pour votre réponse
0