How to rearrange columns in a MATRIX?
29 ビュー (過去 30 日間)
古いコメントを表示
I have a 2x4 matrix 'X' which looks like the follwing
X = 17.0600 29.6780 23.0660 29.4160
19.0280 42.3270 22.7940 43.0240
I would like the last 2 columns to come below the 1st 2 column so that it will look like this
X= 17.0600 29.6780
19.0280 42.3270
23.0660 29.4160
22.7940 43.0240
How do I go about this using he reshape function?
2 件のコメント
Dyuman Joshi
2022 年 9 月 4 日
編集済み: Dyuman Joshi
2022 年 9 月 4 日
I don't think that is possible using reshape (alone), as you are changing the order of elements. You can use vertical concatention to get the desired result -
x=[17.0600 29.6780 23.0660 29.4160;19.0280 42.3270 22.7940 43.0240];
y=[x(:,1:2);x(:,3:4)]
採用された回答
Dyuman Joshi
2022 年 9 月 4 日
移動済み: Walter Roberson
2022 年 9 月 5 日
x=[1 2 4 4 5 6; 3 4 6 6 7 8; 3 4 5 6 6 7;4 5 6 8 7 8];
y=[reshape(x(:,1:2:end),[],1) reshape(x(:,2:2:end),[],1)]
その他の回答 (2 件)
Stephen23
2022 年 9 月 4 日
x = [1,2,4,4,5,6; 3,4,6,6,7,8; 3,4,5,6,6,7; 4,5,6,8,7,8]
y = reshape(permute(reshape(x,size(x,1),2,[]),[1,3,2]),[],2)
James Tursa
2022 年 9 月 4 日
One way:
[X(:,1:2);X(:,3:4)]
2 件のコメント
James Tursa
2022 年 9 月 4 日
編集済み: James Tursa
2022 年 9 月 4 日
To receive quality answers, it is best to describe the complete problem when first posting your question. E.g., Do you want the result to always be 2 columns? Or 1/2 the original columns? Etc.
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!