Converting 2D cell array to 3D matrix

조회 수: 26 (최근 30일)
Lyle Edwards
Lyle Edwards 2023년 6월 9일
댓글: Lyle Edwards 2023년 6월 10일
I have a cell that is [8x454] with each element in the cell containing a [900x1] matrix. I would like to convert this cell into a 3 dimensional matrix of size [8x454x900]. Ive tried some things including reshape, cat and permute but can never seem to get it right. Any help would be greatly appreciated!

채택된 답변

James Tursa
James Tursa 2023년 6월 10일
편집: James Tursa 2023년 6월 10일
E.g.,
MyCell = repmat({(1:4)'},2,3) % small sample data
MyCell = 2×3 cell array
{4×1 double} {4×1 double} {4×1 double} {4×1 double} {4×1 double} {4×1 double}
[m,n] = size(MyCell);
reshape(cell2mat(MyCell(:)').',m,n,[])
ans =
ans(:,:,1) = 1 1 1 1 1 1 ans(:,:,2) = 2 2 2 2 2 2 ans(:,:,3) = 3 3 3 3 3 3 ans(:,:,4) = 4 4 4 4 4 4
size(ans)
ans = 1×3
2 3 4

추가 답변 (1개)

Walter Roberson
Walter Roberson 2023년 6월 9일
cell2mat(reshape(YourCell, 1, 1,[]))

카테고리

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