IPERMUTE Array Inverse Permutation Function
Section: Array Generation and Manipulations
Usage
Theipermute function rearranges the contents of an array according
to the inverse of the specified permutation vector. The syntx for
its use is
y = ipermute(x,p)
where p is a permutation vector - i.e., a vector containing the
integers 1...ndims(x) each occuring exactly once. The resulting
array y contains the same data as the array x, but ordered
according to the inverse of the given permutation. This function and
the permute function are inverses of each other.
Example
First we create a large multi-dimensional array, then permute it and then inverse permute it, to retrieve the original array:--> A = randn(13,5,7,2); --> size(A) ans = 13 5 7 2 --> B = permute(A,[3,4,2,1]); --> size(B) ans = 7 2 5 13 --> C = ipermute(B,[3,4,2,1]); --> size(C) ans = 13 5 7 2 --> any(A~=C) ans = (:,:,1,1) = 0 0 0 0 0 (:,:,2,1) = 0 0 0 0 0 (:,:,3,1) = 0 0 0 0 0 (:,:,4,1) = 0 0 0 0 0 (:,:,5,1) = 0 0 0 0 0 (:,:,6,1) = 0 0 0 0 0 (:,:,7,1) = 0 0 0 0 0 (:,:,1,2) = 0 0 0 0 0 (:,:,2,2) = 0 0 0 0 0 (:,:,3,2) = 0 0 0 0 0 (:,:,4,2) = 0 0 0 0 0 (:,:,5,2) = 0 0 0 0 0 (:,:,6,2) = 0 0 0 0 0 (:,:,7,2) = 0 0 0 0 0
