composing functions
- To: mathgroup at smc.vnet.net
- Subject: [mg45527] composing functions
- From: Pedro L <pedrito6 at softhome.net>
- Date: Mon, 12 Jan 2004 02:15:37 -0500 (EST)
- Reply-to: Pedro L <pedrito6 at softhome.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi! I would like to find a way for composing a list of functions over a list of numbers. I have the list {{f, g, h}, {a, b, c, d}} (f, g, h are functions and a, b, c, d are numbers) I would like to obtain h[g[f[a, b], c], d] Since it's for a real program, I had to do it in "any" way. So I did it as I show below: In[1]:= kk = {{f, g, h}, {a, b, c, d}} Out[1]= {{f, g, h}, {a, b, c, d}} In[2]:= result1 = {kk[[2,1]]}; For[i = 1, i < Length[kk[[2]]], i++, AppendTo[result1, kk[[1,i]]]; AppendTo[result1, kk[[2,i + 1]]]]; result1 Out[2]= {a, f, b, g, c, h, d} In[3]:= result2 = StringJoin @@ ToString /@ result1 Out[3]= afbgchd In[4]:= result3 = StringInsert[result2, "~", Range[2, StringLength[result2]]] Out[4]= a~f~b~g~c~h~d In[5]:= result4 = ToExpression[result3] Out[5]= h[g[f[a, b], c], d] But I'm really sure that it can be done much better. Could you help me?
- Follow-Ups:
- Re: composing functions
- From: "Sseziwa Mukasa,,(978) 536-2359" <mukasa@jeol.com>
- Re: composing functions
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: composing functions