How to reshape a matrix into nx2 matrix?

4 Ansichten (letzte 30 Tage)
gsourop
gsourop am 1 Nov. 2019
Bearbeitet: Adam am 1 Nov. 2019
Hi everyone,
I would like to reshape matrix A
A = magic(6)
ans =
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11
into a new matrix with the following output:
A1 = 35 1
3 32
31 9
8 28
30 5
4 36
6 26
7 21
2 22
33 17
34 12
29 13
19 24
23 25
27 20
10 15
14 16
18 11
Thank you.

Akzeptierte Antwort

Adam
Adam am 1 Nov. 2019
Bearbeitet: Adam am 1 Nov. 2019
reshape( A( :, [ 1:2:end, 2:2:end ] ), [], 2 )
You may wish to change the final two arguments to the reshape command in different situations.
doc reshape
tells you about these.
You can be explicit and pass in the exact size as [18, 2] or 18, 2 if you wish or you could pass in 18, []
In this case all would give the same answer. The [] input is allowed for one dimension and just tells it to work out that value in order to use all elements. Obviously the product of all the dimensions you resize to must be equal to the number of elements in the array being resized.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by