derivative

Efficient approximation of first, second and third derivatives of a function.

You are now following this Submission

[ first, second, third, ymat ] = derivative ( fn, x )

Quickndirty estimate of first, second and third derivatives of a function at a specified point or vector of points.
Input should be n x 1 vector of points (centres) to evaluate at (for any number of points n).
first, second, third and fourth derivatives will follow suit as n x 1 vector outputs.
ymat output is a n x 7 matrix of samples zigzagging around centres (optional).

Internal delta specifies the precision multiplying zigzag offsets:
[0 -0.5 +0.5 -1.0 +1.0 -1.5 +1.5]

For efficiency samples are calculated once + multiple symmetric derivatives.
For the same reason the local sampling matrix ymat is made available.
Reducing the precision (delta) below that given is dangerous/unstable.

Examples:
x = [-5:.1:5]';
[first, second, third, value] = derivative(@sin,x);
figure(1); plot(x,[first, second, third, value(:,1)]);grid
[first, second, third, value] = derivative(@normpdf,x);
figure(2); plot(x,[first, second, third, value(:,1)]);grid

David M W Powers Jan 2016

Cite As

David Powers (2026). derivative (https://in.mathworks.com/matlabcentral/fileexchange/54707-derivative), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0

added of gaussian and first three derivatives