How do I sort an array by only one column?

I have an array with the first column being x-coordinate, the second column being y-coordinate and then the next few columns being different values. I've used an if function so that all the y-coordinates are the same in the array but I then want to sort by x-coordinate (so my plot(x,y) is in order rather than jumping all over the place). The problem is that when I use the sort() function, it orders all my other columns too so the data is no longer associated with the correct coordinate.
Annotation 2019-03-17 123107.jpg
This is a copy of the data unsorted.
Annotation 2019-03-17 123143.jpg
This is after I've used the sort function. It also sorts column 3 which I don't want to happen. I want the 58.6480 value (column 3) to remain in the same row as the 20 value from column 1.

 Akzeptierte Antwort

dpb
dpb am 17 Mär. 2019

2 Stimmen

doc sortrows
% ALWAYS read "See Also" when looking for related functions!!!
>> help sort
sort Sort in ascending or descending order.
B = sort(A) sorts in ascending order.
...
See also issorted, sortrows, min, max, mink, maxk.

7 Kommentare

matrix(:,1)=sort(matrix(:,1))
>> A = [3 6 5; 7 -2 4; 1 0 -9]
A =
3 6 5
7 -2 4
1 0 -9
>> A(:,1)=sort(A(:,1))
A =
1 6 5
3 -2 4
7 0 -9
>>
Now, while the other two columns aren't sorted, they don't match their associated data, either... :(
To do it this way, one would need something like--
[~,is]=sort(A(:,1);
A=A(is,:);
sortrows does the indexing/rearranging for you...
madhan ravi
madhan ravi am 17 Mär. 2019
Completely agree dpb, as far as I understand OP just wants to sort the first column and leave the rest intact, maybe I misunderstood the question.
dpb
dpb am 17 Mär. 2019
"The problem is that when I use the sort() function, it orders all my other columns too so the data is no longer associated with the correct coordinate."
madhan ravi
madhan ravi am 17 Mär. 2019
Bearbeitet: madhan ravi am 17 Mär. 2019
+1, Yes I reread it, now its clear. Thank you dpb :), sorry for the inconvenience.
dpb
dpb am 17 Mär. 2019
'S ok...we all have our moments... :) I certainly "whiff" often enough.
madhan ravi
madhan ravi am 18 Mär. 2019
:)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2018b

Gefragt:

am 17 Mär. 2019

Kommentiert:

am 18 Mär. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by