MATLAB Function Reference | Search  Help Desk |
shiftdim | Examples See Also |
B = shiftdim(X,n)
[B,nshifts] = shiftdim(X)
B = shiftdim(X,n)
shifts the dimensions of X
by n
. When n
is positive, shiftdim
shifts the dimensions to the left and wraps the n
leading dimensions to the end. When n
is negative, shiftdim
shifts the dimensions to the right and pads with singletons.
[B,nshifts] = shiftdim(X)
returns the array B
with the same number of elements as X
but with any leading singleton dimensions removed. A singleton dimension is any dimension for which size(A,dim) = 1
. nshifts
is the number of dimensions that are removed.
If X
is a scalar, shiftdim
has no effect.
The shiftdim
command is handy for creating functions that, like sum
or diff
, work along the first nonsingleton dimension.
a = rand(1,1,3,1,2); [b,n] = shiftdim(a); % b is 3-by-1-by-2 and n is 2. c = shiftdim(b,-n); % c == a. d = shiftdim(a,3); % d is 1-by-2-by-1-by-1-by-3.
reshape
Reshape array
squeeze
Remove singleton dimensions