function
- To: mathgroup <mathgroup at yoda.physics.unc.edu>
- Subject: function
- From: HAY at leicester.ac.uk
- Date: Sun, 25 OCT 92 00:38:11 GMT
> A question about forming functions. Suppose I create a series, using > a=Normal[Series[Sin[x],{x,0,5}]] > giving a = x - x^3/3! + x^5/5!. > I now want to use a to create a function of x, which, functionally, > is > f[x_]:=a. > This will not work in practice. Is there a way to do this? For > something short, as in this example > -r. kline > rvk at blink.att.com The immediate solution is to use immediate assinment ( = ) instead of delayed assignment ( := ). Thus - a=Normal[Series[Sin[x],{x,0,5}]]; f[x_] = a; f[p] p - p^3/6 + p^5/120 Other possibilities are (noting that Function has the attribute HoldAll) g = Function[x,Evaluate[Normal[Series[Sin[x],{x,0,5}]]]]; g[p] p - p^3/6 + p^5/120 h = Function[x,b]/.b->Normal[Series[Sin[x],{x,0,5}]]; (*NOT :>*) h[p] p - p^3/6 + p^5/120 k = Evaluate[Normal[Series[Sin[#],{#,0,5}]]]& #1 - #1^3/6 + #1^5/120 & k[p] p - p^3/6 + p^5/120 From Allan Hayes hay at leicester.ac.uk