shuffle
Shuffle values along a particular dimension of an array.
y=shuffle(a,ind,dim)
Inputs 
a 
Any array. 
ind 
An array of integers of the same size as a . The elements of the array must be positive integers ranging up to the size of the array
along the dimension specified by the last input.

dim 
The dimension along which the elements are to be shuffled. 
Outputs 
y 
The shuffled array. 
Description
ind
is typically the second output of the function sort
or sortnd
.
The result is such that with M=ind[i,j,...,:, p,q,..]
,
the vector y[i,j,k,..,:, p,q,..]
is identical to
the vector a[i,j,k,..,M, p,q,..]
.
This function may be used to reorder arrays of the same size according
to the ordering specified by sorting on one of the arrays. For example,
if a
and b
are two matrices of the same size, and (y,ind)=sort(a)
,
the expression shuffle(b,ind,1)
leads to the same ordering of the elements of the columns of b
as in y
, which is obtained by sorting the columns of a
.
Example>>a=[20 30 40;2 3 4; 50,2,70];
>>b=a*10
>>(as,ind)=sort(a)
>>as
2 2 4
20 3 40
50 30 70
>>b
200 300 400
20 30 40
500 20 700
>>shuffle(b,ind,1)
20 20 40
200 30 400
500 300 700