How to randomly choose 5% of a matrix to be of value 1.

1 vue (au cours des 30 derniers jours)
Gideon Idumah
Gideon Idumah le 21 Avr 2019
Commenté : Gideon Idumah le 21 Avr 2019
I have a 256 x 256 matrix which has value 1 inside a small square 20 x 20 around the center, and zero elsewhere. I need to randomly choose say 5% elsewhere to be 1 also. How do I go about this?
Thank you.

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Avr 2019
candidates = find(~YourMatrix);
ncand = length(candidates);
locs = randperm( ncand, round(ncand * 0.20) );
YourMatrix(locs) = 1;

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by