RE: Simple question
- To: mathgroup@smc.vnet.net
- Subject: [mg11325] RE: [mg11239] Simple question
- From: Ersek_Ted%PAX1A@mr.nawcad.navy.mil
- Date: Fri, 6 Mar 1998 00:40:41 -0500
A number of users answered a question from Anderson Brasil: Penny wrote: ---------- |I believe this will work for you: | |df[f_,x_,n_,x0_]:=(D[f,{x,n}] /. x->x0) | | |g[t_]:=Sin[t] |df[g[t],t,2,3] |df[g[y],y,1,4] | |Cheers, | Also Wouter sent in the long and cryptic collection of code below. I admire Wouter's dedication to the group, but code like that is a sure fire way to scare beginners away from Mathematica. Dont' use ( y=#1^#2&@Sequence[x,2] ) when ( y=x^2 ) will work just as well. Ted |since you do not define the function and it's argument, I suppose you |want (wisely) to operate on a functional level : in that case, here is |something to play with: | |diff[f_,n_:1]:=Function[dum,Evaluate@D[f[dum],{dum,n}] ] intover[f_]:= |Function[d,Evaluate@Integrate[f[d],d]] intover[f_,n_:1]:= |Nest[intover,f,n] | |here is a demonstration on a "pure" or "anonymous" function |(E^-#-E^#)^10& (where you could call "#" a dummy-variable: In[10]:= |diff[(E^-#-E^#)^10&,3 ] |Out[10]=Function[dum$, 720*(-E^(-dum$) - E^dum$)^3* | (E^(-dum$) - E^dum$)^7 + | 280*(-E^(-dum$) - E^dum$)*(E^(-dum$) - E^dum$)^9] | |as you can see, it returns a pure function too, still without argument. |You can give it an argument : |In[11]:= diff[(E^-#-E^#)^10&,3 ] [z] | |Out[11]=720*(-E^(-z) - E^z)^3*(E^(-z) - E^z)^7 + | 280*(-E^(-z) - E^z)*(E^(-z) - E^z)^9 | |Needless to say, once you "grok" the technique, anything goes : | |In[12]:=Nest[intover ,1+#^2&,2] |Out[12]=Function[d$, d$^2/2 + d$^4/12] | |In[15]:=Nest[intover ,1+#^2&,2][x] |Out[15]=x^2/2 + x^4/12 | |In[16]:=intover[(1+#)^2 &,4][z] |Out[16]=z^4/24 + z^5/60 + z^6/360 | |In[17]:=Function[z,Evaluate@%] |Out[17]=Function[z, z^4/24 + z^5/60 + z^6/360] | |In[18]:=diff[%,4][x] |Out[18]=1 + 2*x + x^2 |