Creating a 3D array out of multiple 2D arrays
조회 수: 283 (최근 30일)
이전 댓글 표시
I have 10 masks that are 256 x 256 each. These masks are for 10 respective slices, so I want to combine them and make a 3D array ( 256x256x10). How do I do this? Ideas? Thanks!
댓글 수: 0
채택된 답변
Sean de Wolski
2012년 2월 13일
cat(3,mask1,mask2,...)
doc cat %for more info
댓글 수: 2
Safwana Razak
2021년 3월 22일
hi, what if i got > 100 array in 3rd array, how to automate it?
cat(3,mask1,.....mask100)
Steven Lord
2021년 3월 22일
Revise your code so it doesn't create 100 individual variables. Preallocate the array to be the desired size from the start and fill it in.
A = magic(4);
B = repmat(A, [1 1 5]); % or
C = zeros(4, 4, 5);
for k = 1:5
B(:, :, k) = A^k;
C(:, :, k) = A^k;
end
추가 답변 (2개)
Kris Hoffman
2020년 7월 20일
I just had this exact problem (even with the same dimensions)
If the masks are all in one cell array,
A = cat(3,YourMaskArrayHere{:})
Produces a 256x256x10 uint16 array.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!