Skip to content

Functions and classes to evaluate derivatives, partial derivatives, gradients, directional derivatives, Jacobians, and Hessians.

Notifications You must be signed in to change notification settings

tamaskis/Numerical_Differentiation_Toolbox-MATLAB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Numerical Differentiation Toolbox View Numerical Differentiation Toolbox on File Exchange

This toolbox supplies functions and classes to evaluate derivatives, partial derivatives, gradients, directional derivatives, Jacobians, and Hessians using the forward difference, central difference, and complex-step approximations of a derivative.

Installation

  1. Download the toolbox from File Exchange or GitHub.
  2. Open the INSTALL folder.
  3. Double-click on Numerical Differentiation Toolbox.mltbx.

MATLAB will automatically perform the installation and add all the contents of the toolbox folder to the MATLAB search path. Alternatively, all of the functions in the toolbox folder can be used independently.

Documentation

Toolbox Documentation
Technical Documentation

To open the home page of the toolbox documentation in MATLAB, type the following in the Command Window:

doc_NDT

To open the documentation of a specific function or class with name name, type the following in the Command Window:

doc_NDT name

To open the technical documentation PDF (Numerical_Differentiation.pdf), type the following in the Command Window:

doc_NDT tech

Differentiator Class

D = Differentiator(method)

Central Difference Differentiation Functions

df = cderivative(f,x0)
pf = cpartial(f,x0,k)
g = cgradient(f,x0)
Dv = cdirectional(f,x0,v)
J = cjacobian(f,x0)
H = chessian(f,x0)
H = cvechessian(f,x0)

Forward Difference Differentiation Functions

df = fderivative(f,x0)
pf = fpartial(f,x0,k)
g = fgradient(f,x0)
Dv = fdirectional(f,x0,v)
J = fjacobian(f,x0)
H = fhessian(f,x0)
H = fvechessian(f,x0)

Complex-Step Differentiation Functions

df = iderivative(f,x0)
pf = ipartial(f,x0,k)
g = igradient(f,x0)
Dv = idirectional(f,x0,v)
J = ijacobian(f,x0)
H = ihessian(f,x0)
H = ivechessian(f,x0)

"Complexified" Functions

y = iabs(x)
z = iatan2(y,x)
z = iatan2d(y,x)
z = idot(x,y)
m = imax(x,y)
m = imin(x,y)
r = imod(a,n)
y = inorm(x)
r = irem(a,n)