Filter löschen
Filter löschen

Insert 3D array into Another 3D Array

1 Ansicht (letzte 30 Tage)
Jason Bond
Jason Bond am 7 Jun. 2017
Kommentiert: Jason Bond am 7 Jun. 2017
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!

Akzeptierte Antwort

Adam
Adam am 7 Jun. 2017
Bearbeitet: Adam am 7 Jun. 2017
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

Weitere Antworten (1)

Jason Bond
Jason Bond am 7 Jun. 2017
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