Re: Getting coordinates of array member
- To: mathgroup at smc.vnet.net
- Subject: [mg26285] Re: [mg26247] Getting coordinates of array member
- From: Tomas Garza <tgarza01 at prodigy.net.mx>
- Date: Sun, 10 Dec 2000 00:19:56 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I guess the following will do the job (incidentally, to me (x, y) means
"row x, column y", while you have it the other way around):
In[1]:=
getPos[x_, y_, m_] := m[[x, y]]
In[2]:=
coord[x_, m_] :=
Module[{s = Dimensions[m][[2]], t},
t = Mod[x, s]; {Quotient[x, s] + If[t == 0, 0, 1], If[t ==
0, s, t]}]
Example:
In[3]:=
m = Partition[Range[1, 15], 3]
Out[3]=
{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}}
In[4]:=
getPos[3, 2, m]
Out[4]=
8
In[5]:=
coord[8, m]
Out[5]=
{3, 2}
Tomas Garza
Mexico City
"Stephane Hebert" <stephhebert at yourpants~videotron.ca> wrote:
> Hi folks,
>
> Ok, let's say I have this
>
> 1 2 3
> -----------
> 1| 1 2 3
> 2| 4 5 6
> 3| 7 8 9
>
> A 3x3 matrice or array. Each number in the array represents its'
position
> from top left to bottom right.
>
> What I need to do is:
>
> Find what position 1,3 is. Just by looking at the array, we find that
7 is
> the answer.
>
> Find what are the coordinates of 7. Again just by looking at the
array we
> see that the answer is 1,3
>
> I need to come up with a simplu function that will return these.
>
> pos = GetPos(x,y)
>
> coord = GetCoord(pos)
>
> I've done this before, way long ago and can't find it.