How to randomly select variable from the range of numbers ?
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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 Commenti
Risposta accettata
  Azzi Abdelmalek
      
      
 il 26 Ott 2012
         a=[1:1:100]
 out=a(randi(100,1,5))
5 Commenti
  Azzi Abdelmalek
      
      
 il 26 Ott 2012
				
      Modificato: Azzi Abdelmalek
      
      
 il 26 Ott 2012
  
			in case it can't be repeated
 [~,idx]=sort(rand(1,100))
 out=a(idx(1:5))
Più risposte (2)
  Andrei Bobrov
      
      
 il 26 Ott 2012
        
      Modificato: Andrei Bobrov
      
      
 il 26 Ott 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 Commenti
  Wayne King
    
      
 il 26 Ott 2012
        
      Modificato: Wayne King
    
      
 il 26 Ott 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 Commenti
Vedere anche
Categorie
				Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



