shiftdim - Shift array dimensions - MATLAB (original) (raw)

Syntax

Description

[B](#mw%5F1f3b4325-c8ed-48c1-b066-2b2d8fbd87bc) = shiftdim([A](#mw%5Fbebd5d37-ee00-4fe8-b943-62ed88283e50),[n](#d126e1668768)) shifts the dimensions of an array A by n positions.shiftdim shifts the dimensions to the left when n is a positive integer and to the right when n is a negative integer. For example, if A is a 2-by-3-by-4 array, thenshiftdim(A,2) returns a 4-by-2-by-3 array.

example

[B](#mw%5F1f3b4325-c8ed-48c1-b066-2b2d8fbd87bc) = shiftdim([A](#mw%5Fbebd5d37-ee00-4fe8-b943-62ed88283e50)) returns an array with the same elements as A but with leading dimensions of length 1 removed.

[[B](#mw%5F1f3b4325-c8ed-48c1-b066-2b2d8fbd87bc),[m](#mw%5Fb94339eb-9659-43dd-8745-4178a1e66ea0)] = shiftdim([A](#mw%5Fbebd5d37-ee00-4fe8-b943-62ed88283e50)) also returns the number of dimensions of length 1 that were removed.

example

Examples

collapse all

Create a 4-by-2-by-3-by-5 array. Shift the dimensions 2 positions to the left, wrapping the first 2 lengths to the last 2 dimensions.

A = rand(4,2,3,5); B = shiftdim(A,2); size(B)

Shift the dimensions 2 positions to the right, resulting in 2 leading dimensions of length 1. Shifting to the right does not wrap the dimension lengths.

C = shiftdim(A,-2); size(C)

Shift the dimensions of an array.

Compute a 5-D array A, and remove the leading dimensions of length 1. The shiftdim function shifts 2 dimensions and returns the 3-D array B.

A = rand(1,1,3,2,4); [B,nshifts] = shiftdim(A); nshifts

Shift the dimensions of B twice to the left.

C = shiftdim(B,2); size(C)

Shift the dimensions of C once to the right.

D = shiftdim(C,-1); size(D)

Input Arguments

collapse all

Input array, specified as a vector, matrix, or multidimensional array.

Number of dimension positions to shift, specified as an integer. Whenn is positive, shiftdim shifts the dimensions to the left, wrapping the leading dimensions to the end. When n is negative, shiftdim shifts the dimensions to the right, padding additional leading dimensions with length 1.

Output Arguments

collapse all

Output array, specified as a vector, matrix, or multidimensional array.

Number of dimensions removed, specified as a non-negative integer.shiftdim removes only leading dimensions of length 1.

Extended Capabilities

expand all

Usage notes and limitations:

The shiftdim function fully supports GPU arrays. To run the function on a GPU, specify the input data as a gpuArray (Parallel Computing Toolbox). For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Version History

Introduced before R2006a