## derivative

Version 1.0.0.0 (1.41 KB) by
Efficient approximation of first, second and third derivatives of a function.

Updated Tue, 05 Jan 2016 10:46:43 +0000

[ 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 (2023). derivative (https://www.mathworks.com/matlabcentral/fileexchange/54707-derivative), MATLAB Central File Exchange. Retrieved .

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