File Exchange

image thumbnail

INDIM

version 1.0.0.0 (1.93 KB) by Peter (PB) Bodin
Picks, or assigns elements to, a hyperplane defined by indices and a dimension.

1 Download

Updated 25 Oct 2006

View License

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 (2021). INDIM (https://www.mathworks.com/matlabcentral/fileexchange/8580-indim), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Daniele Rocchetta

This is brilliant

Jos x

either needs to be incorporated in R15
or given as an example in the docs ;-)

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!