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

4 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

Products

Community Treasure Hunt

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

Start Hunting!