Reshaping/vectorizing a n-d matrix to a vector along each dimension

조회 수: 2 (최근 30일)
Lets say I have a matrix given by
a=randn(4,4,5);
How do I get a 80*1 vector along each dimension. That is the new vector vec B should look like the following
B=[a(1,1,1),a(1,1,2),..a(1,1,5),a(1,2,1),..,a(1,2,5),...a(4,4,5)]'
Both the below commands will not give this
B=a(:);
B=reshape(a,[80,1]);

채택된 답변

James Tursa
James Tursa 2018년 4월 5일
result = reshape(permute(a,[3 2 1]),[],1);

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by