Matrix rows and columns swapping
113 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Logan Hall
2021 年 2 月 24 日
For anyone who is looking to swap an array:
Array = Array.';
btw sorry for reviving a dead thread.
Walter Roberson
2021 年 2 月 24 日
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.
回答 (3 件)
Walter Roberson
2019 年 11 月 11 日
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 件のコメント
Walter Roberson
2019 年 11 月 12 日
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
Akira Agata
2019 年 11 月 12 日
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
2022 年 2 月 24 日
編集済み: Franco Garcia
2022 年 2 月 24 日
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
B=A([2,1,3],[2,1,3]) % Your expected output
Regards!
1 件のコメント
Walter Roberson
2022 年 2 月 24 日
I gave the indexing solution at https://www.mathworks.com/matlabcentral/answers/490529-matrix-rows-and-columns-swapping#comment_766334
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!