Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: vector ordering problem

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126703] Re: vector ordering problem
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Fri, 1 Jun 2012 05:16:59 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201205310651.CAA27219@smc.vnet.net>

In Mathematica you cannot use _ in names

vector1 = {32, 4, 28, 11, 20};

vector2 = {78, 12, 95, 14, 35};

positionVector1 = Ordering[vector1]

{2, 4, 5, 3, 1}

Note that this is not what you presented and

vector2[[positionVector1]]

{12, 14, 35, 95, 78}

A way to obtain your requested result

positionVector2 =
 With[{v = Sort[vector1]}, Position[v, #] & /@ vector1 // Flatten]

{5, 1, 4, 2, 3}

vector2[[positionVector2]]

{35, 78, 14, 12, 95}


Bob Hanlon


On Thu, May 31, 2012 at 2:51 AM, Marco Lazzaretti
<marco.lazzaretti82 at gmail.com> wrote:
> Hi,
> I have these two vectors, vector1 and vector2.
> I need to have  vector2 sorted by a positions vector, given by a
> vector1.
> e.g.
> vector1 ={32,4,28,11,20}
> position_vector1= Ordering[vector1]
> position_vector1 = {5,1,4,2,3}
>
> vector2 = {78,12,95,14,35}
>
> requested output
> {35,78,14,12,95}
>
> that is, I have this position vector, as an output from another
> calculation; then i need my input vector to be sorted as the position
> vector says.
> Obviously, my real input vector is quite bigger so i can't sort it
> manually... I hope the small example can explain my problem better
> than my words...
>



  • Prev by Date: Re: vector ordering problem
  • Next by Date: Re: solving DE numerically....
  • Previous by thread: Re: vector ordering problem
  • Next by thread: Re: vector ordering problem