Reshape - columnwise. any command to linewise?

18 views (last 30 days)
help reshape
RESHAPE Reshape array.
RESHAPE(X,M,N) returns the M-by-N matrix whose elements are taken columnwise from X.
I need some way to turn a matrix linewise instead.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 29 Nov 2011
reshape(X.',M,N).'
  8 Comments
Loïc Niederhauser
Loïc Niederhauser on 26 Apr 2022
Also, what if I want to reshape to a 3d matrix? Is there anyway to just work row major in matlab?
Bruno Luong
Bruno Luong on 26 Apr 2022
Loic -Hi btw ;-) - you could use permute for ND-array (there is also pagetranspose command more restrictive)
X=randi(9,[6 5])
X = 6×5
1 2 4 9 1 9 1 7 8 1 5 6 6 4 8 4 2 7 8 2 2 4 5 5 9 7 1 7 1 8
permute(reshape(X.',[size(X,2) 2 3]),[2 1 3])
ans =
ans(:,:,1) = 1 2 4 9 1 9 1 7 8 1 ans(:,:,2) = 5 6 6 4 8 4 2 7 8 2 ans(:,:,3) = 2 4 5 5 9 7 1 7 1 8

Sign in to comment.

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!