Programming |

**Permuting Array Dimensions**

The `permute`

`function reorders the dimensions of an array:`

`dims`

is a vector specifying the new order for the dimensions of `A`

, where 1 corresponds to the first dimension (rows), 2 corresponds to the second dimension (columns), 3 corresponds to pages, and so on.

For a more detailed look at the `permute`

function, consider a four-dimensional array `A`

of size 5-by-4-by-3-by-2. Rearrange the dimensions, placing the column dimension first, followed by the second page dimension, the first page dimension, then the row dimension. The result is a 4-by-2-by-3-by-5 array.

You can think of `permute`

's operation as an extension of the `transpose`

function, which switches the row and column dimensions of a matrix. For `permute`

, the order of the input dimension list determines the reordering of the subscripts. In the example above, element `(4,2,1,2)`

of `A`

becomes element `(2,2,1,4)`

of `B`

, element `(5,4,3,2)`

of `A`

becomes element `(4,2,3,5)`

of `B`

, and so on.

**Inverse Permutation**

The `ipermute`

function is the inverse of `permute`

. Given an input array `A`

and a vector of dimensions `v`

, `ipermute`

produces an array `B`

such that `permute(B,v)`

returns `A`

.

For example, these statements create an array `E`

that is equal to the input array `C`

:

You can obtain the original array after permuting it by calling `ipermute`

with the same vector of dimensions.

Reshaping Multidimensional Arrays | Computing with Multidimensional Arrays |

© 1994-2005 The MathWorks, Inc.