Description Usage Arguments Details Value Note Author(s) Examples

Constructs the numerical derivatives of mathematical expressions

1 |

`formula` |
a mathematical expression (see examples and |

`...` |
additional parameters, typically default values for mathematical parameters |

`.hstep` |
numerical finite-difference step (default is 1e-6 or 1e-4 for first and second-order derivatives, respectively) |

`add.h.control` |
arranges the returned function to have a |

Uses a simple finite-difference scheme to evaluate the derivative. The function created
will not contain a formula for the derivative. Instead, the original function is stored
at the time the derivative is constructed and that original function is re-evaluated at the
finitely-spaced points of an interval. If you redefine the original function, that won't affect
any derivatives that were already defined from it.
Numerical derivatives, particularly high-order ones, are unstable. The finite-difference parameter
`.hstep`

is set, by default, to give reasonable results for first- and second-order derivatives.
It's tweaked a bit so that taking a second derivative by differentiating a first derivative
will give reasonably accurate results. But,
if taking a second derivative, much better to do it in one step to preserve numerical accuracy.

a function implementing the derivative as a finite-difference approximation

WARNING: In the expressions, do not use variable names beginning with a dot, particularly `.f`

or `.h`

Daniel Kaplan (kaplan@macalester.edu)

1 2 3 4 5 6 7 8 9 10 11 | ```
g = numD( a*x^2 + x*y ~ x, a=1)
g(x=2,y=10)
gg = numD( a*x^2 + x*y ~ x&x, a=1)
gg(x=2,y=10)
ggg = numD( a*x^2 + x*y ~ x&y, a=1)
ggg(x=2,y=10)
h = numD( g(x=x,y=y,a=a) ~ y, a=1)
h(x=2,y=10)
f = numD( sin(x)~x, add.h.control=TRUE)
# plotFun( f(3,.hstep=h)~h, hlim=range(.00000001,.000001))
# ladd( panel.abline(cos(3),0))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.