Sorting 按第一列对矩阵排序

Sorting 按第一列对矩阵排序,sorting,matrix,julia,Sorting,Matrix,Julia,我在Julia中有这样一个矩阵: 5×2 Array{Float64,2}: 5.52777 7.51186e15 0.00444418 0.0311171 3.26441 9.72657 3.38447 1.7144e16 0.459852 6.90901 我想按第一列顺序订购,并获得如下内容: 0.00444418 0.0311171 0.459852 6.90901 3.26441 9.72657 3.3844

我在Julia中有这样一个矩阵:

5×2 Array{Float64,2}:
5.52777     7.51186e15
0.00444418  0.0311171 
3.26441     9.72657   
3.38447     1.7144e16 
0.459852    6.90901   
我想按第一列顺序订购,并获得如下内容:

0.00444418  0.0311171 
0.459852    6.90901   
3.26441     9.72657   
3.38447     1.7144e16 
5.52777     7.51186e15

我该怎么做呢?

您发布的预期结果没有显示您希望按第一列排序,因此不清楚您想要什么

如果要按矩阵的第一列对矩阵进行排序,可以使用sortperm和索引:

julia> m[sortperm(m[:,1]),:]
5×2 Array{Float64,2}:
 0.00444418  0.0311171 
 0.459852    6.90901   
 3.26441     9.72657   
 3.38447     1.7144e16 
 5.52777     7.51186e15
sortperm(m[:,1])
返回第一列的排序索引,然后使用该索引对矩阵进行索引


一个可能更快的替代方法是使用
sortslices(m,dims=1)
,但如果您想按第二列排序,则调用该函数会有点困难…

为了清楚起见,在您的示例中,数组已按第一列排序正确吗?复制我预期的结果时出错,更正,不用担心!我很高兴你得到了答案!这正是我想要的。我的问题有一个错误,不清楚,但已更正。