MATLAB: Left-hand side indexing issue

columnindexingleftmatrix

Dear all,
I have a matrix A:
A = [1,2,3,4,5,6,7,8; 1,2,3,4,5,6,7,8];
I would like to change the order of matrix columns. If I try for example:
B(:,[4 3 2 1 8 7 6 5]) = A
I get:
B =
4 3 2 1 8 7 6 5
4 3 2 1 8 7 6 5
which is correct.
Now I try:
B(:,[3 8 2 1 6 7 5 4])=A
and I get this weird result:
B =
4 3 1 8 7 5 6 2
4 3 1 8 7 5 6 2
Would you have an explanation? Thank you very much!
Tobard

Best Answer

Hi,
why is it weird? You have for A:
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Now you assign to the third, eighth, ... column of B the values of A, so the third column of B takes the 1, the eighth column takes the 2 and so on. Or: what did you expect?
Titus