How can I swap two columns of a matrix in MATLAB?

108 ビュー (過去 30 日間)
Deepak
Deepak 2019 年 6 月 6 日
コメント済み: Walter Roberson 2023 年 2 月 25 日
How can I swap two columns of a matrix in MATLAB?
  2 件のコメント
David Sinex
David Sinex 2022 年 10 月 3 日
In a single line using fliplr() and given 2 indices idx1 & idx2,
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = fliplr(AA(:,[idx1,idx2]));
Walter Roberson
Walter Roberson 2022 年 10 月 3 日
idx1 = 2;
idx2 = 5;
AA(:,[idx1,idx2]) = AA(:,[idx2,idx1]);

サインインしてコメントする。

回答 (1 件)

Manvi Goel
Manvi Goel 2019 年 6 月 6 日
There is an easy way to extract a column of a matrix in MATLAB
Suppose you have a matrix A:
A = [1, 2, 3 ; 4, 5, 6]
Screen Shot 2019-06-07 at 12.15.44 AM.png
and you want to swap its first and the second columns.
The following can be done by extracting the first column, storing its value in a temporary variable and replacing second's value with the stored value:
v = A(:, 1);
A(:, 1) = A(:, 2);
A(:, 2) = v;
Screen Shot 2019-06-07 at 12.17.19 AM.png
  5 件のコメント
Andrea
Andrea 2023 年 2 月 25 日
thanks! helped me as well. I hoped to take the product between the original matrix and a simple binary matrix which would perform the transformation but in my case the matrix is text cell so linear algebra operations are not possible (unless I am missing something)
Walter Roberson
Walter Roberson 2023 年 2 月 25 日
It is not clear what 0 or false times a text entry would be ? Are you hoping, for example, that
false * "hello"
would give a result of "0" ?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by