Re: Function Programming Problems
- To: mathgroup at smc.vnet.net
- Subject: [mg90835] Re: [mg90782] Function Programming Problems
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 25 Jul 2008 06:19:04 -0400 (EDT)
- Reply-to: hanlonr at cox.net
Clear[linearApproximation];
linearApproximation[expr_, a_, x_Symbol: x] :=
Module[{var},
(expr + D[expr, x]*(var - a)) /.
{x -> a, var -> x}];
linearApproximation[Sin[a*x], 0] ==
Series[Sin[a*x], {x, 0, 1}] // Normal
True
linearApproximation[Exp[-a*x], 0] ==
Series[Exp[-a*x], {x, 0, 1}] // Normal
True
linearApproximation[f[y], a, y] ==
Series[f[y], {y, a, 1}] // Normal
True
Bob Hanlon
---- davey79 at gmail.com wrote:
=============
Hello,
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.
Thanks!
David Taylor
Roanoke College