How to split a 3d matrix into sub-3d matrices?

조회 수: 2 (최근 30일)
ML
ML 2016년 9월 20일
편집: Matt J 2017년 12월 28일
How can I split e.g. a 100x100x100 matrix into non-overlapping (neighbouring) smaller matrices 10x10x10? or how to use mat2cell for this problem?

채택된 답변

Stephen23
Stephen23 2016년 9월 21일
편집: Stephen23 2016년 9월 21일
It is easy to split that array using mat2cell, you just need to define a vector that defines how to split each of the dimensions:
A = rand(100,100,100);
D = 10*ones(1,10);
C = mat2cell(A,D,D,D);
and the output:
>> size(C)
ans =
10 10 10
>> size(C{1})
ans =
10 10 10

추가 답변 (1개)

Matt J
Matt J 2017년 12월 28일
편집: Matt J 2017년 12월 28일
For an easier interface, you can instead use mat2tiles (Download), e.g.,
>> C = mat2tiles( rand(100,100,100), [10,10,10]);
>> whos C
Name Size Kilobytes Class Attributes
C 10x10x10 7922 cell

카테고리

Help CenterFile Exchange에서 Downloads에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by