Programming Previous page   Next Page

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.


Previous page  Reshaping Multidimensional Arrays Computing with Multidimensional Arrays Next page

© 1994-2005 The MathWorks, Inc.