Re: Function Programming Problems
- To: mathgroup at smc.vnet.net
- Subject: [mg90814] Re: [mg90782] Function Programming Problems
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Fri, 25 Jul 2008 06:14:13 -0400 (EDT)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- References: <200807240851.EAA18893@smc.vnet.net>
- Reply-to: murray at math.umass.edu
First, do you REALLY want your students to think of a function as "an
expression in x" -- technically, a functional relation in variable x --
such as sin x (Mathematica: Sin[x]). Or wouldn't you rather want then
to think of a function as an object in its own right, or as an object
sine (Mathematica: Sin) in its own right, such as sine (Mathematica:
Sin)? Mathematically, surely the former is preferable.
If so, then it seems to me a more natural way to set this up would be:
LocalLinearApproximation[f_,a_][x_] := f[a] + f'[a](x-a)
For example:
LocalLinearApproximation[Sin,0][x]
x
That makes evident that the local linear approximation depends upon the
function and the point "a" and, in essence, gives you a function that
can then, in turn, be evaluated at any input x.
Of course you could make this more explicit by the following variant:
Clear[LocalLinearApproximation]
LocalLinearApproximation[f_, a_] := f[a] + f'[a] (# - a) &
(* or:
LocalLinearApproximation[f_,a_] := Function[x, f[a]+f'[a] (x-a)] *)
But if you insist upon the unfortunate, traditional calculus textbook
approach of confusing a function with a functional relation in a
variable x, then I'm not sure how you would want to get rid of that
third argument entirely: how else would Mathematica know what is the
variable?
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
>
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305
- References:
- Function Programming Problems
- From: davey79@gmail.com
- Function Programming Problems