| MATLAB Function Reference | Search  Help Desk | 
| ipermute | Examples See Also | 
Inverse permute the dimensions of a multidimensional array
A = ipermute(B,order)
A = ipermute(B,order) 
is the inverse of permute. ipermute rearranges the dimensions of B so that permute(A,order) will produce B. B has the same values as A but the order of the subscripts needed to access any particular element are rearranged as specified by order. All the elements of order must be unique.
permute and ipermute are a generalization of transpose (.') for multidimensional arrays.
Consider the 2-by-2-by-3 array a:
a = cat(3,eye(2),2*eye(2),3*eye(2))
a(:,:,1) =               a(:,:,2) =
     1     0                 2     0
     0     1                 0     2
a(:,:,3) =
     3     0
     0     3
Permuting and inverse permuting a in the same fashion restores the array to its original form:
B = permute(a,[3 2 1]);
C = ipermute(B,[3 2 1]);
isequal(a,C)
ans=
   1
permute     Rearrange the dimensions of a multidimensional array