Data Selection/Sorting
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Curious Mind
 il 9 Nov 2019
  
    
    
    
    
    Commentato: JESUS DAVID ARIZA ROYETH
      
 il 10 Nov 2019
            I have a column vector known as Data. Please see attached. I want to divide/sort this column vector into two (80% and 20%). I want the 80% to comprise the first largest/lowest values in 'Data' and the remaining 20% to comprise the next largest/lowest values. Any ideas? Thank you so much!

0 Commenti
Risposta accettata
  JESUS DAVID ARIZA ROYETH
      
 il 9 Nov 2019
        I hope this is what you are looking for: 
data=[23 20 18 50 17 24 56 35 38 19 29 53 26]';
f=sort(data,'descend');
f2=reshape([f flipud(f)]',[],1);
vector80=f2(1:round(numel(data)*0.8))
vector20=f2(round(numel(data)*0.8)+1:numel(data))
Another interpretation of what I understood could be like this too: 
data=[23 20 18 50 17 24 56 35 38 19 29 53 26]';
f=sort(data,'descend');
vector80=f(1:round(numel(data)*0.8))
vector20=f(round(numel(data)*0.8)+1:numel(data))
2 Commenti
  JESUS DAVID ARIZA ROYETH
      
 il 10 Nov 2019
				it works for both forms, if data is 1x13 then change it with data = data '; so that it is 13x1, and if you want to show the results as rows then add a single quote, for example: vector80 = f2 (1: round (numel (data) * 0.8)) '
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Shifting and Sorting 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!

