Hi everybody;
I want to learn about if it is possible rearrange a vector in MATLAB in a random
manner. For example i have the vector=[1 3 5 8 7 0] and i want a new vector
using the vector elements but different order
i.e. new_vector=[0 7 3 1 8 5 ]; this order sould be random.
Any idea?
I think to use "randint" to regenerate indexes then create new vector using new
index order. But problem is such a random indexing may repeated. Some index may
appear more than 1 times and some does not appear.
Do you have any advise?
Thanks
Regards
Emre
random rearrangement a vector
Started by ●May 28, 2007
Reply by ●May 29, 20072007-05-29
Emre,
You can use the randperm function for doing this. RANDPERM(n) is a
random permutation of the integers from 1 to n. So, if you have a vector
,V , get random index vector of V, by assigning,
z = randperm(size(V,2));
new_V = V(z);
So, if V = [1 3 5 8 7 0];
then z= randperm(V) could be [6 5 2 1 4 3], and therefore,
V(z) will be [0 7 3 1 8 5 ];
Remember to repeat both the steps above to generate new random arrangement
everytime. Let me know if this makes sense.
> Hi everybody;
> I want to learn about if it is possible rearrange a vector in MATLAB in a
> random manner. For example i have the vector=[1 3 5 8 7 0] and i want a
> new vector using the vector elements but different order
> i.e. new_vector=[0 7 3 1 8 5 ]; this order sould be random.
> Any idea?
>
> I think to use "randint" to regenerate indexes then create new vector
> using new index order. But problem is such a random indexing may repeated.
> Some index may appear more than 1 times and some does not appear.
>
> Do you have any advise?
>
> Thanks
> Regards
>
> Emre
>
You can use the randperm function for doing this. RANDPERM(n) is a
random permutation of the integers from 1 to n. So, if you have a vector
,V , get random index vector of V, by assigning,
z = randperm(size(V,2));
new_V = V(z);
So, if V = [1 3 5 8 7 0];
then z= randperm(V) could be [6 5 2 1 4 3], and therefore,
V(z) will be [0 7 3 1 8 5 ];
Remember to repeat both the steps above to generate new random arrangement
everytime. Let me know if this makes sense.
> Hi everybody;
> I want to learn about if it is possible rearrange a vector in MATLAB in a
> random manner. For example i have the vector=[1 3 5 8 7 0] and i want a
> new vector using the vector elements but different order
> i.e. new_vector=[0 7 3 1 8 5 ]; this order sould be random.
> Any idea?
>
> I think to use "randint" to regenerate indexes then create new vector
> using new index order. But problem is such a random indexing may repeated.
> Some index may appear more than 1 times and some does not appear.
>
> Do you have any advise?
>
> Thanks
> Regards
>
> Emre
>
Reply by ●May 29, 20072007-05-29
Hi Emre,
I think u can use the built in function, "randperm" or "permute". Have a
look at the help for these commands..
bye
sameer
On 5/27/07, Emre ARDALI wrote:
>
> Hi everybody;
> I want to learn about if it is possible rearrange a vector in MATLAB in a
> random manner. For example i have the vector=[1 3 5 8 7 0] and i want a new
> vector using the vector elements but different order
> i.e. new_vector=[0 7 3 1 8 5 ]; this order sould be random.
> Any idea?
>
> I think to use "randint" to regenerate indexes then create new vector
> using new index order. But problem is such a random indexing may repeated.
> Some index may appear more than 1 times and some does not appear.
>
> Do you have any advise?
>
> Thanks
> Regards
>
> Emre
>
I think u can use the built in function, "randperm" or "permute". Have a
look at the help for these commands..
bye
sameer
On 5/27/07, Emre ARDALI wrote:
>
> Hi everybody;
> I want to learn about if it is possible rearrange a vector in MATLAB in a
> random manner. For example i have the vector=[1 3 5 8 7 0] and i want a new
> vector using the vector elements but different order
> i.e. new_vector=[0 7 3 1 8 5 ]; this order sould be random.
> Any idea?
>
> I think to use "randint" to regenerate indexes then create new vector
> using new index order. But problem is such a random indexing may repeated.
> Some index may appear more than 1 times and some does not appear.
>
> Do you have any advise?
>
> Thanks
> Regards
>
> Emre
>