MATLAB Function Reference |

**Syntax**

**Description**

```
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.

**Examples**

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.

**See Also**

shading | shrinkfaces |