Re: Questions on Apply function
- To: mathgroup at smc.vnet.net
- Subject: [mg62890] Re: Questions on Apply function
- From: dh <dh at metrohm.ch>
- Date: Thu, 8 Dec 2005 00:04:16 -0500 (EST)
- References: <dn5ogd$nks$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Peng, I think you are confusing Apply and Map. Apply replaces the head of an expression by a given function. In your case applying on level 1: Apply[(#+{-6750,6435})&,{{6945,-4545},{6945, -4545}},{1}] Here we replace the head e.g. of the first element: {6945,-4545} by the function, yielding: (#+{-6750,6435})&[6945,-4545] # means by default the first argument, the second is never used! Therefore, what you get is 6945+{-6750,6435} Similar for the second list element. Daniel PengYu.UT at gmail.com wrote: > Please look at the following code. I'm wondering the output 1 doesn't > give me the right answer. 6435-4545 should be 1890. Is there anything > wrong with input 1? It seems that it is correct, because input 3 works > well. > > Thanks, > Peng > > In[1]:= > Apply[(#+{-6750,6435})&,{{6945,-4545},{6945, -4545}},{1}] > > Out[1]= > {{195,13380},{195, 13380}} > > In[2]:= > {-6750,6435}+{6945,-4545} > > Out[2]= > {195,1890} > > In[3]:= > Apply[(#+{a,b})&,{{a1,b1},{a2,b2},{a3,b3}},{1}] > > Out[3]= > {{a+a1,a1+b},{a+a2,a2+b},{a+a3,a3+b}} >