Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Regarding random generation of elements in a matrix.

1 visualización (últimos 30 días)
Abhinav
Abhinav el 24 de Feb. de 2015
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
I have a code like this
randi([0 1],1,10)
I want it to generate random 0 and 1. But I want that it should generate at max two ones. For e.g. I should get eight zeros and two ones randomly. Please tell how to do.

Respuestas (2)

Andrei Bobrov
Andrei Bobrov el 24 de Feb. de 2015
Editada: Andrei Bobrov el 24 de Feb. de 2015
out = zeros(1,10);
out(randperm(10,2)) = 1;
or just
out = randperm(10) > 8;

Roger Stafford
Roger Stafford el 24 de Feb. de 2015
You stated "at max two ones", Abhinav. If you want to include the cases where there are less than two 1's, you could do it this way:
A = zeros(1,10);
if rand <= 55/56
i1 = randi(10);
A(i1) = 1;
if rand <= 45/55
i2 = randi(9);
if i2 >= i1
i2 = i2 + 1;
end
A(i2) = 1;
end
end

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by