I have a 10x6x5 matrix, I want to convert it into 6x50 matrix. How to do this?

1 view (last 30 days)
I want to keep second dimension(6 elements) data in the each column vector of the new 2d matrix and there would be 50 (10*5) such columns.

Accepted Answer

KSSV
KSSV on 11 Jul 2018
A = rand(10,6,5) ;
C = permute(A,[1 3 2]);
C = reshape(C,[],size(A,2),1) ;

More Answers (2)

James Tursa
James Tursa on 11 Jul 2018
Either this:
A = your 10x6x5 array
result = reshape(permute(A,[2 1 3]),size(A,2),[]);
Or this:
A = your 10x6x5 array
result = reshape(permute(A,[2 3 1]),size(A,2),[]);
Depending on how you want the column data ordered.

Sri Harish G
Sri Harish G on 11 Jul 2018
If you have a matrix A of size 10x6x5 you can convert it to a matrix of dimensions 6x50 by using
reshape(A,[6,50])
For Information regarding how the elements will be arranged in this matrix, please refer to the documentation and scroll down to "Reshaping Multidimensional Arrays"
https://www.mathworks.com/help/matlab/math/multidimensional-arrays.html

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!