MATLAB Answers

0

Generating random number from a given sequence.

Asked by Aftab Ahmed Khan on 25 Jul 2016
Latest activity Answered by Steven Lord
on 25 Jul 2016
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

  0 Comments

Sign in to comment.

1 Answer

Answer by Steven Lord
on 25 Jul 2016
 Accepted Answer

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

  0 Comments

Sign in to comment.