comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: IDL function randperm?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: IDL function randperm? [message #36160 is a reply to message #36159] Wed, 20 August 2003 06:00 Go to previous message
K. Bowman is currently offline  K. Bowman
Messages: 330
Registered: May 2000
Senior Member
In article <Amara.Graps-2008031259130001@amaramac.ifsi.rm.cnr.it>,
Amara.Graps@ifsi.rm.cnr.it (Amara Graps) wrote:

> Greetings!
>
> I wonder if any of you have an IDL function that gives a
> random permutation of an array index, or know of a
> straightforward way to compute it?
>
> In Matlab such a function is called "randperm(n)"
> where n is the length of the array.
>
> For example, if one gives the integer 8, then it returns
> a length 8 integer array with values 0 to 7, randomly permutated.
>
> It is not as simple as it sounds, since the indices are unique.
> I tried variations of randomly SHIFT'g indices from INDGEN()
> with a random number generator, and the values were not
> 'jumbled' satisfactorily.
>
> Thanks in advance for any answer!
> Amara

If I understand your question, you can just generate n uniform random
variables and then sort the result.

IDL> x = LINDGEN(10)
IDL> y = RANDOMU(dseed, 10)
IDL> print, x
0 1 2 3 4 5
6 7
8 9
IDL> print, y
0.138249 0.0700486 0.310873 0.610514 0.332400
0.135694 0.975024
0.370555 0.763737 0.0268037
IDL> z = x[SORT(y)]
IDL> print, z
9 1 5 0 2 4
7 3
8 6


Ken Bowman
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Two questions (about Mpeg and Networking)
Next Topic: bug in CONTOUR

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 07:17:31 PDT 2025

Total time taken to generate the page: 1.68225 seconds