Insert 3D array into Another 3D Array

조회 수: 2 (최근 30일)
Jason Bond
Jason Bond 2017년 6월 7일
댓글: Jason Bond 2017년 6월 7일
Hi. I am trying to insert the contents of one 3D array into another. Both represent logical/binary volumes. So far I have,
Y = yMax-yMin;
X = xMax-xMin;
Z = zMax-zMin;
smallArray = ones(Y,X,Z);
bigArray = zeros(500,400,60);
bigArray(yMin:yMax,xMin:xMax,zMin:zMax) = smallArray;
The values of yMin, yMax, xMin, xMax, zMin, zMax, X, Y and Z are within the range of bigArray. For example, yMin = 10, yMax = 120, etc.
But I receive an error about "Subscripted assignment dimension mismatch".
Any guidance would be great, thanks!

채택된 답변

Adam
Adam 2017년 6월 7일
편집: Adam 2017년 6월 7일
yMax - yMin
will always be 1 smaller than
yMin:yMax
because of the inclusive end points (assuming integers, of course, which we are here since they are indices).
e.g.
10 - 1 = 9
but
1:10
clearly gives an array of length 10.
You probably just need to put some +1's in your X, Y and Z

추가 답변 (1개)

Jason Bond
Jason Bond 2017년 6월 7일
You're right. Thanks Adam!

Community Treasure Hunt

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

Start Hunting!

Translated by