How to randomly select variable from the range of numbers ?
    5 views (last 30 days)
  
       Show older comments
    
Hi,
I have a variable
a=[1:1:100]
I would like to select from the variable a , 5 values randomnly every time. Eg 10 15 67 89 99.
Is there any way to do it in simple rather than using a for loop.
Appreciate the help
0 Comments
Accepted Answer
  Azzi Abdelmalek
      
      
 on 26 Oct 2012
         a=[1:1:100]
 out=a(randi(100,1,5))
5 Comments
  Azzi Abdelmalek
      
      
 on 26 Oct 2012
				
      Edited: Azzi Abdelmalek
      
      
 on 26 Oct 2012
  
			in case it can't be repeated
 [~,idx]=sort(rand(1,100))
 out=a(idx(1:5))
More Answers (2)
  Andrei Bobrov
      
      
 on 26 Oct 2012
        
      Edited: Andrei Bobrov
      
      
 on 26 Oct 2012
  
      a = 1:100;
ii = randperm(numel(a));
out = a(ii(1:5));
or
[ii,ii] = sort(rand(1,numel(a)));
out = a(ii(1:5));
or
out = a(randperm(numel(a),5));
0 Comments
  Wayne King
    
      
 on 26 Oct 2012
        
      Edited: Wayne King
    
      
 on 26 Oct 2012
  
         idx = randperm(length(a));
   idx = idx(1:5);
   a(idx)
or if you have the newest version of MATLAB
    idx = randperm(length(a),5);
    a(idx)
0 Comments
See Also
Categories
				Find more on Creating and Concatenating Matrices in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


