derivative
[ 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
Citation pour cette source
David Powers (2024). derivative (https://www.mathworks.com/matlabcentral/fileexchange/54707-derivative), MATLAB Central File Exchange. Récupéré le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 | added of gaussian and first three derivatives |