RE: simple problem with Map?!?

• To: mathgroup at smc.vnet.net
• Subject: [mg49496] RE: [mg49480] simple problem with Map?!?
• From: "David Park" <djmp at earthlink.net>
• Date: Thu, 22 Jul 2004 02:45:07 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Because you are mapping the function onto the elements when you really wany
application to the entire list.

d0 = {30, 60, 180, 60, 30};

pppp = (N[#1/Plus @@ #1] & )[d0]
{0.0833333, 0.166667, 0.5, 0.166667, 0.0833333}

David Park

From: Relishguy [mailto:relishguy at pluggedin.org]
To: mathgroup at smc.vnet.net

I do not understand why the last evaluation ends up screwed:

In[1]:= d0 = {30,60,180,60,30};

In[2]:= tt = Plus @@ d0
Out[2]= 360

In[3]:= pp = N[d0 / tt]
Out[3]= {0.0833333,0.166667,0.5,0.166667,0.0833333}

In[4]:= ppp = N[d0 / (Plus @@ d0)]
Out[4]= {0.0833333,0.166667,0.5,0.166667,0.0833333}

In[5]:= pppp = N[# / (Plus @@ #)]& /@ d0
Out[5]= {1.,1.,1.,1.,1.}

Can anyone explain this simply? Do I need Hold[] or Evaluate[] somewhere?

TIA.

Regards..

```

• Prev by Date: Re: If-statement problems
• Next by Date: RE: Applying my function to elements of a vector
• Previous by thread: Re: simple problem with Map?!?
• Next by thread: Re: RE: simple problem with Map?!?