MDIFF(Y,X,M) numerically differentiates the vector Y wrt the
vector X, m times and stores the derivatives in DERIVATIVES.
DERIVATIVES is a 2D matrix of size of m-by-n, where n is the length of
either the vector Y or X. The first row in DERIVATIVES is the first
derivative and and the i-th row is the i-th derivative.
DERIVATIVES will be just the gradient vector if m = 1
MDIFF(y,x) numerically differentiates the the vector Y wrt the
vector X one time and stores that gradient in DERIVATIVES.
MDIFF(y) is the same as DIFF(Y) with different dimensions of the output
vector, and the same as GRADIENT(Y) but with the last element NAN.
The vector of the i-th derivative has ( n-i ) numerical elements
and ( i ) NAN elements at the end of the row.
The numerical differentiation is a very noisy process and the noise gets
bigger in magnitude as m gets bigger && as dx gets smaller. These noises
can be filtered easily though, or a more robust differentiation algorithm
can be used.
Ahmed Taha (2020). Higher derivatives of a vector wrt another vector (https://www.mathworks.com/matlabcentral/fileexchange/69166-higher-derivatives-of-a-vector-wrt-another-vector), MATLAB Central File Exchange. Retrieved .