# How to sort two columns of a data

4 views (last 30 days)
Abin Krishnan on 8 Feb 2014
Edited: Mischa Kim on 8 Feb 2014
I have an excel sheet with two columns:one showing the diameter of the drops and the other the corresponding velocity.I have to divide the data into three categories - 1/3 with small diameters,1/3 with medium diameter and the last 1/3 with large diameter using MATLAB codes.The velocity should also be grouped accordingly.

Mischa Kim on 8 Feb 2014
Edited: Mischa Kim on 8 Feb 2014
Abin, use sortrows :
A = rand(4,2)
B = sortrows(A)
Once sorted, you can simply access each portion of the sorted matrix B, according to your requirements.
##### 2 CommentsShowHide 1 older comment
Mischa Kim on 8 Feb 2014
Edited: Mischa Kim on 8 Feb 2014
A = rand(13,2);
B = sortrows(A)
[r, c] = size(B);
r_div = floor(r/3);
sec_r = [1 r_div; r_div+1 2*r_div; 2*r_div+1 r];
B_sec2 = B(sec_r(2,1):sec_r(2,2),:)
Some of your data arrays may not be equally dividable into thirds-sections, say, you have 13 measurements. For this case you could, e.g., use the floor command.
r_div = floor(r/3);
which results in the next lower integer of 13/3, which is 4. sec_r is a matrix that holds all the row numbers that "specify" the three sections.