根据特定列对矩阵进行排序,并使用另一列对其进行进一步排序,同时保持第一个排序顺序

  • 本文关键字:排序 进一步 一列 第一个 顺序 matlab
  • 更新时间 :
  • 英文 :


我有一个矩阵a,由3列组成。第一列是x坐标,第二列是y坐标,最后第三列是与该x&y坐标。A最初按第一列排序。

A=[
-10    15    0.1
-10    9     0.2
-10    17    0.3
1     0    0.4
1    -1    0.5
1    30    0.6
18      1    0.7
18      9    0.8
18    -17    0.9
]

如何在保持x列的顺序的同时,对y列进行进一步排序?预期结果:

A=[
-10     9    0.2
-10    15    0.1
-10    17    0.3
1    -1    0.5
1     0    0.4
1    30    0.6
18    -17    0.9
18      1    0.7
18      9    0.8
]

值x的长度(或块(不需要三行(或一致(矩阵,-10可以是5行,18可以是15行。

提前谢谢。

您可以为此使用排序行。在这种情况下,您希望首先根据第一列对A进行排序,然后根据第二列:

>> sortrows(A,[1,2])
ans =
-10.0000    9.0000    0.2000
-10.0000   15.0000    0.1000
-10.0000   17.0000    0.3000
1.0000   -1.0000    0.5000
1.0000         0    0.4000
1.0000   30.0000    0.6000
18.0000  -17.0000    0.9000
18.0000    1.0000    0.7000
18.0000    9.0000    0.8000

相关内容

  • 没有找到相关文章