Re: Function Programming Problems
- To: mathgroup at smc.vnet.net
- Subject: [mg90830] Re: Function Programming Problems
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Fri, 25 Jul 2008 06:18:06 -0400 (EDT)
On 7/24/08 at 4:51 AM, davey79 at gmail.com wrote:
>A colleague and myself are working on some Mathematica labs for
>Calculus using Mathematica 6.0 and I can't seem to find any
>information or examples that explain defining functions and using
>functions as arguments.
>I want to define a LinearApproximation command that preferably would
>take two arguments and return the linear approximation. Ideally,
>LinearApproximation[function_,a_] would have
>LinearApproximation[Sin[x],0] give "x" as the output.
>So far I have: LinearApproximation[function_, a_, x_] := function[a]
>+ function'[a]*(x - a)
>which works mostly nicely, except it only works with
>LinearApproximation[Sin,0,x].
>Does anyone know how I would fix this to allow Sin[x] as input (or
>even x^2, etc)? Getting rid of the third argument "x" would be
>nice, but not necessary.
Your version will work with x^2 provided you supply this as a
pure function. That is,
LinearApproximation[#^2 &, a, x]
a^2+2 (x-a) a
However, I would define this using the built-in function Series.
And to get rid of the third argument I would do
LinearApproximation[func_, a_] :=
Block[{x}, Normal@Series[func[x], {x, a, 1}]]
Like your code, to use this with x^2 you need to supply this as
a pure function.