Matrix rows and columns swapping

I want to completely change rows and column simultaneously (please see the picture attached)
Is there a function which can do this?
Thanks,
Rakesh

2 commentaires

Logan Hall
Logan Hall le 24 Fév 2021
For anyone who is looking to swap an array:
Array = Array.';
btw sorry for reviving a dead thread.
Walter Roberson
Walter Roberson le 24 Fév 2021
That does not solve the user's problem at all. The user needs the upper left corner (a 1 in their data) to go to the middle, but using .' would leave the upper left corner exactly where it is.

Connectez-vous pour commenter.

Réponses (3)

Walter Roberson
Walter Roberson le 11 Nov 2019

0 votes

There is no function that can do that simultaneously, at least not the first time.
For any given row and column exchange pattern, it is possible to pre-process the pattern so that doing the same exchange for multiple different arrays would take place simultaneously for that one matrix. Something like
temp = preprocess_exchange(rows_to_exchange, columns_to_exchange);
newA = A(temp);
newB = B(temp);
where preprocess_exchange is a function that would need to be written.

2 commentaires

I should correct myself: you can do this with indexing.
>> A = [1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> A([2 1 3],[2 1 3])
ans =
5 4 6
2 1 3
8 7 9
Rakesh Belchandan
Rakesh Belchandan le 12 Nov 2019
Thanks. That works for me.

Connectez-vous pour commenter.

Akira Agata
Akira Agata le 12 Nov 2019

0 votes

I don't think rows and column can be randomly changed simultaneously.
There should be at least 2 steps, like this:
% Input 3-by-3 matrix
A = reshape(1:9,3,3)';
% Randomize rows and columns
A = A(randperm(3),:);
A = A(:,randperm(3));
Franco Garcia
Franco Garcia le 24 Fév 2022
Modifié(e) : Franco Garcia le 24 Fév 2022
You can actually do that easily with just proper indexing. According to the example in the attachment:
A=[1,2,3;4,5,6;7,8,9] % The input in your example
A = 3×3
1 2 3 4 5 6 7 8 9
B=A([2,1,3],[2,1,3]) % Your expected output
B = 3×3
5 4 6 2 1 3 8 7 9
Regards!

Catégories

Produits

Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by