Bonjour

J'essaye d'écrire un algorithme me permettant d'avoir les permutation d'un vecteur. Par exemple, je pars de [0 0], puis j'ajoute 1 au premier indice. J'obtiens [1,0] et [0,1] comme permutations. Pour terminer j'ajoute 1 au second indice et j'obtiens [1 1]. Voici le code que j'ai écris avec nb_bit=3,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
u_ini=zeros(1,nb_bit);
bit=[];
for i=1:nb_bit
    u_ini(i)=1;
    u=perms(u_ini);
    bit=[bit;u];
end
bit=unique(bit,'rows');
bit2=[zeros(1,nb_bit);bit];
Le problème avec le code précédent est que si nb_bit=20, la commande perms ne marche plus. Comment faire autrement?

Merci