Numerical derivative of analytic function

version (2.82 KB) by Daniel Ennis
Calculate the numerical derivative of an analytic function with different methods.


Updated Thu, 31 Mar 2016 00:43:42 +0000

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

Cite As

Daniel Ennis (2022). Numerical derivative of analytic function (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Adaptive Robust Numerical Differentiation

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!