reshape 4D matrix into 2D matrix

조회 수: 84 (최근 30일)
Amine Ben Ayara
Amine Ben Ayara 2016년 10월 18일
댓글: James 2016년 10월 19일
Good morning Matlab, I have a 4D-Double matrix that has this dimension: (5*5*5*30) and I need to convert it into a 2D matrix, I suppose, so the new matrix will only have the 1st Column (:,1) from each five by five matrix stacked horizontally,so the new 2D matrix should be 25 by 30 (25*30) dimension, where each column (:,1:30) is basically extracted from the original matrix (5*5*5*30) matrix. To try to explain this a bit more, I have 30 of: five sets of (5by5) matrices, and I only need the information in the first column of each set of 5*5, hence (25 rows) and 30 columns. Can Someone pleaaaaase point me in the right direction? Thank you SO much! have a great day.

답변 (2개)

James
James 2016년 10월 18일
Does this do what you're looking for?
reshape(squeeze(x(:,1,:,:)),25,30)
where x is your 5x5x5x30 matrix?
  댓글 수: 2
Amine Ben Ayara
Amine Ben Ayara 2016년 10월 18일
hello James, Thank you so much for the help. It does look like what I need, which from what you wrote so far the output matrix is of dimension: 25 rows by 30 columns, right? I tried it and I got this error: Error using reshape To RESHAPE the number of elements must not change.
James
James 2016년 10월 19일
Try reshape(squeeze(x(:,1,:,:)),25,[]), and see what the final size of the matrix is.

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2016년 10월 18일
Possibly
reshape(M(:, 1, :, :), 25, 30)
Or
reshape( permute( M(:, 1, :, :), [3, 1, 4, 2]), 25, 30)
The difference is that for an A x B x C x D matrix the first would be (A*C) x D, but the second would be (C*A) x D different of elements
  댓글 수: 2
Amine Ben Ayara
Amine Ben Ayara 2016년 10월 18일
Hello Walter, Thank you so much for the reply. I tried both methods and I got this: A=reshape(MNPr1_1to30(:, 1, :, :), 25, 30) ; Error using reshape To RESHAPE the number of elements must not change.
>> AAA=reshape( permute( MNPr1_1to30(:, 1, :, :), [3, 1, 4, 2]), 25, 30); Error using reshape To RESHAPE the number of elements must not change.
Walter Roberson
Walter Roberson 2016년 10월 18일
Please show size( MNPr1_1to30)

댓글을 달려면 로그인하십시오.

카테고리

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