On 2012-11-10 16:39, Samuel Gougeon wrote:
--------------------
Le 10/11/2012 15:06, Paul Carrico a écrit :
D= [
10 3 11 10 13;
49 6 -1 -1 0;
178 39 9 -451 3;
10110 -12 1 -9 45 ;
-13514 15 78 -99 3]
/// each line is sorted from the 1rst column (in increasing order)/
D_expeted= [
-13514 15 78 -99 3;
10 3 11 10 13;
49 6 -1 -1 0;
10110 -12 1 -9 45;
178 39 9 -451 3;
]
gsort(D,"lr","i")
will do it.
But if you want to sort only according to the first column (or certain
columns) and keep the original order independently of the other
columns (which I often need), you have to do it in two steps:
-->A=[3 4 1; 3 3 2; 2 2 3; 1 1 4]
A =
3. 4. 1.
3. 3. 2.
2. 2. 3.
1. 1. 4.
1. Sort only the first column and get the sort order (with "lr" as the
second argument, you can use a vector of several columns for the
second index of A):
-->[B,k]=gsort(A(:,1),"lr","i")
k =
4.
3.
1.
2.
2. Rearrange the rows with k:
-->A=A(k,:)
ans =
1. 1. 4.
2. 2. 3.
3. 4. 1.
3. 3. 2.
Note the original order of the last two rows, contrary to
-->gsort(A,"lr","i")
ans =
1. 1. 4.
2. 2. 3.
3. 3. 2.
3. 4. 1.
Stefan
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users