Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: generate specific random value except some numbers
Posted:
Jul 14, 2013 3:43 AM


"Nasser M. Abbasi" wrote in message <krtkdb$oj$1@speranza.aioe.org>... > On 7/14/2013 1:21 AM, Antonio Valentine wrote: > > Hello there, > > > > Kindly be asked for helping in the coding of how to generate a specific range of random numbers. Here is my question > > > > I want to generate an integer number between 140. > > > > randi(40,1) > > > > However, I want to skip some numbers as appeared in this vector [10 13 22 27]. > > > > How should I do? > > > > Thank you in advance. > > > > > > This is what I have done in the past which is unable to scale up. So I would like to ask for suggestions. > > > > actor_1 = 10; > > actor_2 = 13; > > actor_3 = 22; > > > > num_event = 10; > > num_node = 40; > > > > for i = 1 : num_event > > > > alarm_node(i) = randi(num_node,1); > > > > while alarm_node(i) == actor_1  alarm_node(i) == actor_2 % alarm_node(i) ~= actor_3 > > > > alarm_node(i) = randi(num_node,1); > > > > end > > > > end > > > >  > A = [1:9 11 12 13:21 23:26 28:40]; > N = length(A); > num_event = 10; > arrayfun(@(i) A(randi(N,1)),1:num_event) >  > > 9 37 6 34 21 40 3 18 4 39 > > >
Your suggestion is quite straightforward. May I ask for an option of
A = [1:40]; B = [10 13 22 27];
Then I can separate into two vectors where vector B the numbers I want to skip it.
Is that possible?



