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

1 Ansicht (letzte 30 Tage)
Wei Yow
Wei Yow am 28 Apr. 2023
Kommentiert: Wei Yow am 28 Apr. 2023
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.

Akzeptierte Antwort

Stephen23
Stephen23 am 28 Apr. 2023
Bearbeitet: Stephen23 am 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

Weitere Antworten (2)

Steven Lord
Steven Lord am 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 am 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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by