sorting in descending order by row

1 回表示 (過去 30 日間)
arad rad
arad rad 2018 年 8 月 21 日
コメント済み: Stephen23 2018 年 8 月 22 日
hi, i have a square matrix and i need to sort it in descending order in each row, i mean from left to right along columns for each row. all the functions like sort and sortrow are in ascending order or sort in descending order by column ! thank you
  2 件のコメント
Stephan
Stephan 2018 年 8 月 21 日
If you need a good performance, then accept the answer given by Stephen Cobeldick:
A = rand(12000) - 0.5;
tic
B = sort(A,2,'descend'); % The way i did it
toc
tic
C = -sort(-A.').'; `% the way Stephen Cobeldick did
toc
with result:
>> sort_performance
Elapsed time is 3.725967 seconds.
Elapsed time is 2.971930 seconds.
and the winner is... ;-)
arad rad
arad rad 2018 年 8 月 22 日
thanks it was really helpful

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2018 年 8 月 21 日
Where M is your matrix:
>> M = randi(9,4)
M =
6 1 9 5
5 1 8 8
6 4 9 9
6 3 3 4
>> -sort(-M.').'
ans =
9 6 5 1
8 8 5 1
9 9 6 4
6 4 3 3
  2 件のコメント
arad rad
arad rad 2018 年 8 月 22 日
thank u
Stephen23
Stephen23 2018 年 8 月 22 日
@arad rad: you should really use Stephan Jungs's answer.

サインインしてコメントする。

その他の回答 (1 件)

Stephan
Stephan 2018 年 8 月 21 日
Hi,
use:
A =
10 -12 4 8
6 -9 8 0
2 3 11 -2
1 1 9 3
>> sort(A,2,'descend')
ans =
10 8 4 -12
8 6 0 -9
11 3 2 -2
9 3 1 1
to sort descending in row-direction.
  1 件のコメント
Stephen23
Stephen23 2018 年 8 月 22 日
+1 for doing it properly.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by