Al momento, stai seguendo questo contributo
- Vedrai gli aggiornamenti nel tuo feed del contenuto seguito
- Potresti ricevere delle email a seconda delle tue preferenze per le comunicazioni
This is a GUI which performs numerical differentiation of a function over a number of equaly spaced points. Also with it is a code that grants the coefficients used for numerical differentiation.
The pictures and example should be more than enough for understanding how to use the file.
Example:
npoints=3;
Order=1;
d=datnum(npoints,Order)
d=
-1.5 2 -0.5 % Forward
-0.5 -0 0.5 % Central
0.5 -2 1.5 % Backward
% The result is a matrix consisting of coefficients that can be
% used to numerically differentiate, like this:
x=1;
f=inline('cos(x)')
h=.1;
s = ( d(1,1)*f(x) + d(1,2)*f(x+h) + d(1,3)*f(x+2*h) )/h^Order
s =
-0.8444
s = ( d(2,1)*f(x-h) + d(2,2)*f(x) + d(2,3)*f(x+h) )/h^Order
s =
-0.84007
s = ( d(3,1)*f(x-2*h) + d(3,2)*f(x-h) + d(3,3)*f(x) )/h^Order
s =
-0.84413
% The true answer is s = -0.84147
The code uses the Symbolic Math Toolbox to obtain the true value (in order to calculate the error). If you don't have the Symbolic Math Toolbox then you won't enjoy this benefit (program still works though).
Cita come
Husam Aldahiyat (2026). Numerical Differentiation (https://it.mathworks.com/matlabcentral/fileexchange/22807-numerical-differentiation), MATLAB Central File Exchange. Recuperato .
Riconoscimenti
Ispirato da: Adaptive Robust Numerical Differentiation
Informazioni generali
- Versione 1.2.0.0 (249 KB)
Compatibilità della release di MATLAB
- Compatibile con qualsiasi release
Compatibilità della piattaforma
- Windows
- macOS
- Linux
