Sorting 3 structures together

1 view (last 30 days)
Please, I have 3 structures as follows:
x_loc.xx=[3.0, 5.1, 6.5] % x-coordinate
y_loc.yy=[0.5, 1.4, 3.2] % y-coordintates
cash.bb=[14, 1, 6]
I want to sort the structure 'cash' from smallest to biggest. The sorting should also sort the x and coordinates (x_loc.xx and y_loc.yy).
i.e I want the answer to be:
cash.bb=[1,6,14]
x_loc.xx=[5.1, 6.5, 3.0]
y_loc.xx=[1.4, 3.2,0.5].
I coluldnt think of how to start.... pls help
Thanks in anticipation

Accepted Answer

Stephen23
Stephen23 on 29 May 2019
Edited: Stephen23 on 29 May 2019
"I coluldnt think of how to start...."
If you want to sort something, the best place to start is to read the sort documentation. Then you would learn that sort has a second output argument, which are indices that you can use to sort any other arrays that you want:
[cash.bb,idx] = sort(cash.bb)
x_loc.xx = x_loc.xx(idx)
y_loc.yy = y_loc.yy(idx)
Note: having separate structures named x_loc and y_loc does not seem to be a very efficient way to arrange your data.
  2 Comments
Shamsuddeen Abdullahi
Shamsuddeen Abdullahi on 29 May 2019
I changed them to the same structure:
cash.bb
x_loc.bb
y_loc.bb
it works.
thanks
Stephen23
Stephen23 on 29 May 2019
"I changed them to the same structure:"
cash.bb
x_loc.bb
y_loc.bb
Nope. Those are still three separate structures.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!