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}