MathGroup Archive 2003

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

Search the Archive

Re: defining a transform from two lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg40878] Re: [mg40837] defining a transform from two lists
  • From: Peter <peter1963 at totalise.co.uk>
  • Date: Tue, 22 Apr 2003 06:50:50 -0400 (EDT)
  • References: <200304211058.GAA22424@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Nathan Moore wrote:

>Suppose I have two lists of similar length,
>    p1={n[i],a[i]}
>and
>    p2 = {n[i],b[i]}
>and I'd like to create a new list,
>    p3 = { n[i], f[ a[i], b[i] ] }
>if the new list comes from one parent list then it is relatively simple to
>write and apply a transform w/ map like
>    h[{x_,y_}]:={x,f[y]}
>    newlist = h/@list or = Map[h,list]
>but two parent lists confuse me
>
>thanks again!
>
>Nathan Moore,
>University of Minnesota Physics
>
>
>
>  
>
Hi Nathan,
if you want to construct a function like h in your 1-list-example, the
trick is to rearrange the lists for simple mapping:

In[1]:=
p2 = (p1=Table[{n[i],a[i]},{i,5}]) /. a->b;
h[{{n_,a_},{n_,b_}}] := {n,f[a,b]};
In[3]:=
p3 = h /@ Transpose[{p1,p2}]
Out[3]=
{{n[1], f[a[1], b[1]]}, {n[2], f[a[2], b[2]]}, {n[3], f[a[3], b[3]]},
  {n[4], f[a[4], b[4]]}, {n[5], f[a[5], b[5]]}}

You can use a rule; it's a matter of taste:

Transpose[{p1,p2}] /. {{n_,x_},{n_,y}} -> {n,f[x,y]}

gives the same result.

Peter





  • Prev by Date: Strange behavior with Nonlinear regress
  • Next by Date: Re: Finding derivatives of a list?
  • Previous by thread: defining a transform from two lists
  • Next by thread: Re: defining a transform from two lists