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

1 visualización (últimos 30 días)
Gideon Idumah
Gideon Idumah el 21 de Abr. de 2019
Comentada: Gideon Idumah el 21 de Abr. de 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.

Respuesta aceptada

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

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by