INDIM

Picks, or assigns elements to, a hyperplane defined by indices and a dimension.

You are now following this Submission

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.

Cite As

Peter (PB) Bodin (2026). INDIM (https://au.mathworks.com/matlabcentral/fileexchange/8580-indim), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0

Corrected a typo in the description