Sort rows without sortrows function in MATLAB

4 次查看(过去 30 天)
The following is the data set say A
A =
9361 8366
9361 28317
9364 27948
9364 8735
9365 29127
9365 7556
9366 1870
9366 34813
9367 1825
9367 34858
9368 15168
9368 21515
if first coordinate is same then I want to arrange w.r.t to ascending order of second coordinate.
It can be done with, sort and sortrows command like
B = sortrows(A);
But need some other approach, please.
The output should be
B =
9361 8366
9361 28317
9364 8735
9364 27948
9365 7556
9365 29127
9366 1870
9366 34813
9367 1825
9367 34858
9368 15168
9368 21515

回答(1 个)

KSSV
KSSV 2022-10-13
A = [9361 8366
9361 28317
9364 27948
9364 8735
9365 29127
9365 7556
9366 1870
9366 34813
9367 1825
9367 34858
9368 15168
9368 21515];
[val,idx] = sort(A(:,1)) ;
iwant = A(idx,:)
iwant = 12×2
9361 8366 9361 28317 9364 27948 9364 8735 9365 29127 9365 7556 9366 1870 9366 34813 9367 1825 9367 34858
  2 个评论
Noor Fatima
Noor Fatima 2022-10-13
@KSSV Thank you very much for the comment.
But I can't use any builtin function, i.e., sort or sortrows
Is there any other way please?
Noor Fatima
Noor Fatima 2022-10-13
Furthermore, sorry the output is not correct it is the same as input.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by