필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
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.

채택된 답변

KSSV
KSSV 2018년 7월 11일
A = rand(10,6,5) ;
C = permute(A,[1 3 2]);
C = reshape(C,[],size(A,2),1) ;

추가 답변 (2개)

James Tursa
James Tursa 2018년 7월 11일
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 2018년 7월 11일
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

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by