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


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

