Hi, how can I change the positions of entire row and columns in a matrix [nxm]? For example, I want to change my entire 10th row and 10th column into entire 1st column and 1st row.
Thank you.

 Akzeptierte Antwort

Dennie
Dennie am 22 Feb. 2016

0 Stimmen

Hello, You can swap columns and rows quite easily in matlab. For example:
given matrix :
matrix=[1 2 3 4 5;6 7 8 9 10; 11 12 13 14 15; 16 17 18 19 20];
i can swap column 1 and 2 by performing this operation:
matrix(:,[1,2])=matrix(:,[2,1]);
for row 1 and 2, a similar operation is done:
matrix([1,2],:)=matrix([2,1],:);
Please be aware of the sequence in which you perform this operation, since column 10 and row 10 have 1 variable in common, if you swap columns and rows sequentialy, you will mix up that one variable.
Another (manual) approach to retain information is to make a copy of the row and column you want to swap in another variable such as:
copy_matrix=matrix(:,:);
matrix(2,:)=copy_matrix(1,:);
matrix(1,:)=copy_matrix(2,:);
Hope this helps,
Dennie

Weitere Antworten (1)

Ilham Hardy
Ilham Hardy am 22 Feb. 2016
Bearbeitet: Ilham Hardy am 22 Feb. 2016

0 Stimmen

There are built-in matlab functions for this..

2 Kommentare

Ilham Hardy
Ilham Hardy am 22 Feb. 2016
For example,
matrix=[1 2 3 4 5;6 7 8 9 10; 11 12 13 14 15; 16 17 18 19 20];
>> matrix
matrix =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
>> flipud(matrix)
ans =
16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
1 2 3 4 5
>> fliplr(flipud(matrix))
ans =
20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1
nur yusof
nur yusof am 22 Feb. 2016
Awesome. Thank you so much.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Feb. 2016

Kommentiert:

am 22 Feb. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by