File Exchange

image thumbnail

Numerical derivative of analytic function

version 1.0 (2.82 KB) by

Calculate the numerical derivative of an analytic function with different methods.



View License

% This function returns the numerical derivative of an analytic function.
% Of special note, is the incorporation of the "complex step-derivative"
% approach which offers greatly improved derivative accuracy compared to
% forward and central difference approximations. This is especially germain
% when accuracy at the level of machine precision is a concern.
% This function was motivated by: authored by Michael Sherman
% -The function with no inputs generates the example used in the above link.
% -For more information see the following citation which is also found in the above link:
% --Martins JR, Sturdza P, and Alonso JJ
% The complex-step derivative approximation
% ACM Trans. Math. Softw. 29(3) (2003)
% SYNTAX: dfdx=deriv(f,x,h,method)
% INPUTS: f - A function a handle (eg f=@(x) sin(x))
% x - Interval over which f(x) is defined
% h - Derivative step-size
% method - Numerical methods used to compute derivative
% 'forward2' - Two point forward difference
% 'forward3' - Three point forward difference
% 'central2' - Two point central difference
% 'central4' - Four point central difference
% 'complex' - Complex step-derivative approximation
% OUTPUTS: dfdx - Numerical estimate of the derivative of f(x)
% DBE 2006.07.31

Comments and Ratings (2)

I'm looking for a package that approximates derivatives for NUMERICALLY defined functions (not analytic) ..

I have two arrays:
x=0:0.5:10 , and fun= a vector that defines my function at each of those values of x.

Now I want the derivative of fun with respect to x at each value of x.

Does such a package exist ??

Sunil Arya

It is good for the biginers in matlab compuation



Update BSD License.

MATLAB Release
MATLAB 7.1.0 (R14SP3)

Inspired: Adaptive Robust Numerical Differentiation

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video