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: [mg126704] Re: vector ordering problem
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Fri, 1 Jun 2012 05:17:20 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

On 5/31/12 at 2:51 AM, marco.lazzaretti82 at gmail.com (Marco
Lazzaretti) 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}

This is clearly code you did not try in Mathematica. That is:

In[1]:= vector1 = {32, 4, 28, 11, 20};
Ordering[vector1]

Out[2]= {2,4,5,3,1}

And trying to do

position_vector1 = Ordering[vector1]

will result in an error. Mathematica does not allow an
underscore character in a variable name. The underscored
character has a reserved system meaning.

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

>requested output {35,78,14,12,95}

This is easily done.

In[3]:= vector2 = {78, 12, 95, 14, 35};
pos = {5, 1, 4, 2, 3};
vector2[[pos]]

Out[5]= {35,78,14,12,95}

Here I've used the position vector you posted rather than what
would be returned by Ordering. If instead I use Ordering the
result would be:

In[6]:= vector2[[Ordering@vector1]]

Out[6]= {12,14,35,95,78}




  • Prev by Date: Flattening a hypermatrix into an ordinary matrix
  • Next by Date: Re: vector ordering problem
  • Previous by thread: Re: vector ordering problem
  • Next by thread: Re: vector ordering problem