Filter löschen
Filter löschen

How to sort or rearrange a column with respect to the other column?!

25 Ansichten (letzte 30 Tage)
Hello Everybody;
wish you are all doing well;
if i have a data of two columns and i want to sort one of the columns in a descending order and also keep the other column fixed and likened with the changed one, how can i do that?! assuming that column 1 is the ID of column two
sample data:
241 5
1245 4
684 4
806 4
674 3
Appreciating your help ;

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 17 Jun. 2016
Bearbeitet: Azzi Abdelmalek am 17 Jun. 2016
Use sortrows function. For example
A=[241 5;1245 4;684 4;806 4;674 3]
B=sortrows(A,2)
% Or by descending order
B=sortrows(A,-2)
  5 Kommentare
Guillaume
Guillaume am 17 Jun. 2016
Please, read the documentation of sortrows. You can sort according to whichever column and whichever direction you wish.
The documentation contains lots of useful information!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Shameer Parmar
Shameer Parmar am 17 Jun. 2016
Bearbeitet: Shameer Parmar am 17 Jun. 2016
Hello Mariam,
For your given sample data:
A =
241 5
1245 4
684 4
806 4
674 3
use following code:
A = [241, 5; 1245, 4; 684, 4; 806, 4; 674, 3];
B(:,1) = sort(A(:,1),'descend');
for i=1:length(A)
B(i,2)=A(find(ismember(A(:,1),B(i))),2);
end
B
OutPut will be like in '*descending*' order
B =
1245 4
806 4
684 4
674 3
241 5
  3 Kommentare
Guillaume
Guillaume am 17 Jun. 2016
Both sortrows and sort allows you to specify the direction. I recommend using sortrows as it's more suited to what you want.
If you were to use sort, I would use the 2nd return value to reorder the other columns rather than a loop and ismember:
[B(:, 1), order] = sort(A(:, 1), 'descend');
B(:, 2) = A(order, 2);
As said, sortrows as per Azzi's answer is better.
Mariam Sheha
Mariam Sheha am 17 Jun. 2016
thanks for your quick answer and recommendation is appreciated :)

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by