MATLAB: Convertir aléatoirement le nombre exact de 1 à 0 en matrice binaire

Salut.
J’ai une matrice binaire 3 × 3.
 
0 1 0
1 0 1
1 1 1
 
Disons qu’il inclut six valeurs « 1 » sur des positions aléatoires. J’ai besoin de convertir deux « 1 » en « 0 », mais au hasard.
 
0 1 0
1 0 0
1 0 1
 
l’un des résultats possibles.
Merci de votre aide!

Meilleure réponse

  • Essayer
     

    %%

    x = [ 0 1 0
    1 0 1
    1 1 1];
    %%
    ix_one = find( x == 1 );
    ix_set_zero = randi( numel(ix_one), 1,2 );
    x( ix_one( ix_set_zero ) ) = 0