|
[Date Index]
[Thread Index]
[Author Index]
Re: Numerical Differentiation
- To: mathgroup at smc.vnet.net
- Subject: [mg4298] Re: Numerical Differentiation
- From: rubin at msu.edu (Paul A. Rubin)
- Date: Sat, 29 Jun 1996 03:56:47 -0400
- Organization: Michigan State University
- Sender: owner-wri-mathgroup at wolfram.com
In article <4q5k43$bsb at dragonfly.wolfram.com>,
mrj at cs.su.oz.au (Mark James) wrote:
->Does anyone know of a function that calculates the derivative of
->a function (that can't be differentiated symbolically) at a given
->point by numerical means? I can't find it as a built-in or in the
->standard packages. Thanks.
->
A simple solution would be:
In[1]:= ndiff[ f_, x_, eps_:.0001 ] :=
(f[ x + eps ] - f[ x - eps ])/(2 eps) /;
Positive[ eps ]
In[2]:= ndiff[ Exp, 2 ]
ndiff[ Exp, 2, .01 ] (* less accurate *)
Out[2]= 7.38906
7.38918
The first argument is a function, the second the point at which to
differentiate, the (optional) third is the step size to use. I'm doing a
centered estimate here. You might find more accurate formulas in a book on
numerical analysis. (Unfortunately, mine are buried at home someplace.)
My rather vague recollection from my numerical analysis course (a couple of
decades ago) is that numerical differentiation is not the most stable of
processes, due in part to the wonders of rounding error. In any event, I'm
not sure how to determine the accuracy of your answer.
Hope this helps.
Paul
**************************************************************************
* Paul A. Rubin Phone: (517) 432-3509 *
* Department of Management Fax: (517) 432-1111 *
* Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU *
* Michigan State University *
* East Lansing, MI 48824-1122 (USA) *
**************************************************************************
Mathematicians are like Frenchmen: whenever you say something to them,
they translate it into their own language, and at once it is something
entirely different. J. W. v. GOETHE
==== [MESSAGE SEPARATOR] ====
Prev by Date:
Re: Help: Column/Row Vector
Next by Date:
Re: Abs and variables
Previous by thread:
Numerical Differentiation
Next by thread:
Re: Numerical Differentiation
|