lex_sort - lexicographic matrix rows sorting
N=lex_sort(M) sorts the rows (as a group) of the matrix M in ascending order. If required the output argument k contains the ordering: [N,k]=lex_sort(M) returns k such as N is uequal to M(k,:) .
N=lex_sort(M,sel [,'unique']) produces the same result as the following sequence of instructions:
[N,k]=lex_sort(M(:,sel) [,'unique']); N=M(k,:)
The 'unique' flag has to be given if one wants to retain only unique rows in the result. Note that lex_sort(M,sel,'unique') retains only rows such that M(:,sel) are unique.
M=round(2*rand(20,3)); lex_sort(M) lex_sort(M,'unique') [N,k]=lex_sort(M,[1 3],'unique')