| Description |
function C = indim(A,dim,inds,B)
INDIM Picks, or assigns elements to, a hyperplane defined by indices and a dimension.
INDIM(A,dim,inds) picks the elements in the hyperplane defined by inds and dim.
Let A = RAND(4,4,4,4,4,4), then
C = INDIM(A,3,2:3)
returns the same as A(:,:,2:3,:,:,:)
C = INDIM(A,3,2:3,B)
assigns the values of B to the hyperplane of A such that A(:,:,2:3,:,:,:) = B
If B is not a scalar or is not the same size and shape as the hyperplane defined by dim and inds, indim tries to reshape it into the right shape. If the number of elements are inconsistent, an error is thrown.
Examples:
A=reshape(1:16,[2 2 2 2]);
C=indim(A,3,1)
A=reshape(1:16,[2 2 2 2]);
C=indim(A,2,1,NaN)
A=reshape(1:16,[2 2 2 2]);
C=indim(A,1,1,[-16:-8])
Thanks to:
Richard Hindmarsh for suggesting the assignment functionality.
Doug Schwarz for proposing a solution to the same functionality. |