How to rearrange 2x5 matrix while keeping the size the same?

2 views (last 30 days)
Hi,
How do I tranpose such that
x = [1, 5, 9, 4, 8; 3, 7, 2, 6, 10] to
x =[1, 3, 5, 7, 9 ; 2, 4, 6, 8, 10]
while keeping the 2x5 matrix? This matrix was returned from a function reading a file consisting of a row-oriented data.
thank you.

Accepted Answer

Stephen23
Stephen23 on 28 Apr 2023
Edited: Stephen23 on 28 Apr 2023
Rather than sorting the data, I suspect that you want something like this:
x = [1, 5, 9, 4, 8; 3, 7, 2, 6, 10]
x = 2×5
1 5 9 4 8 3 7 2 6 10
y = reshape(x,[5,2]).'
y = 2×5
1 3 5 7 9 2 4 6 8 10

More Answers (2)

Steven Lord
Steven Lord on 28 Apr 2023
x = [1, 5, 9, 4, 8; 3, 7, 2, 6, 10]
x = 2×5
1 5 9 4 8 3 7 2 6 10
y = reshape(x(:), flip(size(x))).'
y = 2×5
1 3 5 7 9 2 4 6 8 10
For comparison:
expected =[1, 3, 5, 7, 9 ; 2, 4, 6, 8, 10]
expected = 2×5
1 3 5 7 9 2 4 6 8 10

Kevin Holly
Kevin Holly on 28 Apr 2023
x = [1, 5, 9, 4, 8; 3, 7, 2, 6, 10]
x = 2×5
1 5 9 4 8 3 7 2 6 10
x2 = reshape(sort(reshape(x,1,[])),size(x,1),size(x,2))
x2 = 2×5
1 3 5 7 9 2 4 6 8 10

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!