Info
This question is closed. Reopen it to edit or answer.
rearrangement matrix rows based on vector of indicies
1 view (last 30 days)
Show older comments
I think I must be missing something simple here because I tried this before and it worked well, but not sure why it won't work in this case
Here's what I have:
a matrix that is 50*3 , named coordinates:
1 1 1
1 2 1
1 3 1
1 4 1
1 5 1
2 1 1
2 2 1
2 3 1
2 4 1
2 5 1
1 1 2
1 2 2
1 3 2
1 4 2
1 5 2
3 1 1
3 2 1
3 3 1
3 4 1
3 5 1
2 1 2
2 2 2
2 3 2
2 4 2
2 5 2
4 1 1
4 2 1
4 3 1
4 4 1
4 5 1
3 1 2
3 2 2
3 3 2
3 4 2
3 5 2
5 1 1
5 2 1
5 3 1
5 4 1
5 5 1
4 1 2
4 2 2
4 3 2
4 4 2
4 5 2
5 1 2
5 2 2
5 3 2
5 4 2
5 5 2
another matrix that is 50*1 named I (stands for Index)
41 42 43 44 45 46 47 48 49 50 36 37 38 39 40 31 32 33 34 35 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 21 22 23 24 25 26 27 28 29 30
I want to re-arrange the "coordinates" matrix so that the 41st row contains (1,1,1) , the 42nd row is the 2nd row(1 2 1) .... the 30th row contains 5,5,2.
I type in the following: : Final_Coordinates=Coordinates(I,:); ..... But then I get the following( which is NOT what I want)
4 1 2
4 2 2
4 3 2
4 4 2
4 5 2
5 1 2
5 2 2
5 3 2
5 4 2
5 5 2
5 1 1
5 2 1
5 3 1
5 4 1
5 5 1
3 1 2
3 2 2
3 3 2
3 4 2
3 5 2
1 1 2
1 2 2
1 3 2
1 4 2
1 5 2
3 1 1
3 2 1
3 3 1
3 4 1
3 5 1
1 1 1
1 2 1
1 3 1
1 4 1
1 5 1
2 1 1
2 2 1
2 3 1
2 4 1
2 5 1
2 1 2
2 2 2
2 3 2
2 4 2
2 5 2
4 1 1
4 2 1
4 3 1
4 4 1
4 5 1
( for some reason, the order is NOT according to the index)
Not sure what I'm doing wrong. Any help is appreciated !
1 Comment
per isakson
on 2 Mar 2020
I think Final_Coordinates is the result that should be expected. So, what do you want?
It is easier to debug code with small examples of data. Make a Minimal working example
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!