Generating random number from a given sequence.

Hello, I am generating a random sequence of channels one after another based on its availability. The way i'm doing it is like this. It is working fine but i don't like the way i have implemented it. Can you suggest a more efficient method for doing the same thing. Thank you.
idle=0;
ava_channelsabs=find(channelstate_abs(idabs,abs_idbeam,:)==idle);
col_slot1=[];
while length(col_slot1)<length(ava_channelsabs)
rand_slot1=randi(length(ava_channelsabs),1,1);
check=ismember(rand_slot1,col_slot1);
if check==0
rand_channel1=ava_channelsabs(rand_slot1);
col_slot1=[col_slot1,rand_slot1];
end
end

 Respuesta aceptada

Steven Lord
Steven Lord el 25 de Jul. de 2016

0 votos

It sounds like you want to perform sampling without replacement. If that's the case take a look at the randperm function.

Más respuestas (0)

Categorías

Más información sobre Random Number Generation en Centro de ayuda y File Exchange.

Preguntada:

el 25 de Jul. de 2016

Respondida:

el 25 de Jul. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by