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

1 Ansicht (letzte 30 Tage)
Gideon Idumah
Gideon Idumah am 21 Apr. 2019
Kommentiert: Gideon Idumah am 21 Apr. 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.

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Elementary Math finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by