[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: sort question

From: Michael Underwood
Subject: RE: sort question
Date: Wed, 5 May 2004 17:20:06 +1000

I probably didn't explain properly. 
ib gives the permutation vector (e.g. in my example, it would tell me that the 
1st element of b is the 3rd element of a). I'm basically looking for the 
inverse; for example, what element of b does a(1) equal.
This could be done using
        b = sort(a);
        for k = 1 to length(a),
                ic(k) = find(b==a(k));
but I am doing this on really large 2-D arrays

-----Original Message-----
From: address@hidden
Sent: Wednesday, 5 May 2004 5:05 pm
To: Michael Underwood; address@hidden
Subject: Re: sort question

Easy: ask two return values of sort ():

        octave> [b, ib] = sort (a)

The second holds the desired indices.

On Wed, 5 May 2004 04:56 pm, Michael Underwood wrote:
> I looking for a neat way of determining the index that of each element of
> an array would have if sorted.
> eg.
> octave:1> a = rand(4,1)
> a =
>   0.73433
>   0.55564
>   0.49191
>   0.90766
> octave:2> b= sort(a)
> b =
>   0.49191
>   0.55564
>   0.73433
>   0.90766
> for instance, a(1)  is the 3rd element of b.
> I know this can be done with the find command, but the array I am dealing
> with are sufficiently large to make the find command too time consuming.
> Any ideas??
> Regards
>       Michael Underwood
>       Systems Analyst
> Generation Division
> Hydro Tasmania
>       Ph: (03) 6230 5494
>       This message and any attachments may contain confidential or privileged
> information, and are intended solely for the named recipient(s). If you are
> not a named recipient of this message, you are hereby notified that you
> must not use, disseminate, copy or take any action in reliance on this
> message or any part of it. If you have received this message in error,
> please notify the author immediately via
> mailto:address@hidden
>       NB: Unless otherwise specified, opinions and personal views expressed
> herein are purely those of the author and do not represent the views of
> Hydro Tasmania.

Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]