Sorting of Matrixes and Lists
- To: mathgroup at smc.vnet.net
- Subject: [mg14454] Sorting of Matrixes and Lists
- From: David Lincoln <dlincoln at ici.net>
- Date: Wed, 21 Oct 1998 03:32:51 -0400
- Sender: owner-wri-mathgroup at wolfram.com
In response to a recent question on how to sort a matrix here are some methods for different possible criteria of sorting matrixes and lists. 1) Sort columns of a matrix in ascending order based on the columns second entry. This uses same method as sorting by second entry of rows with the addition of a before and after transpose. m = { { 6,9,4}, {5,8, 3}, {2, 11, 7}} Transpose[ Sort[Transpose[m], (#1[[2]] <= #2[[2]])&]] {{4,6,9},{3,5,8},{7,2,11}} 2) Sort rows of a matrix by descending order according to sum of row entries. n := { {1,2,3}, {4,5,6}, {7,8,9}} Sort[n,(Apply[Plus,#1]>= Apply[Plus,#2])&] {{7,8,9},{4,5,6},{1,2,3}} 3) Given a list v of real numbers and a real number c sort in ascending order according to distance from c. v:= { 1.2 , 6.3, 10.4,20.4,31.1,44.2,55.6,88.3} c:= 33.2 Sort[v,(Abs[c - #1] <= Abs[c - #2])&] {31.1,44.2,20.4,55.6,10.4,6.3,1.2,88.3}