14 lines
456 B
Matlab
14 lines
456 B
Matlab
function [f,t]=num_diff(y,h,n,p)
|
|
% num_diff integer-order numerical differentiation
|
|
|
|
% Copyright (c) Dingyu Xue, Northeastern University, China
|
|
% Last modified 18 May, 2022
|
|
arguments, y(:,1), h(1,1) {mustBePositive}
|
|
n(1,1){mustBeInteger,mustBePositive}
|
|
p(1,1){mustBeInteger,mustBePositive}
|
|
end
|
|
m=n+p; alpha=0:m; c=double(fdcoef(n,m,alpha));
|
|
t=(0:length(y)-m)'*h;
|
|
for i=1:length(y)-m+1, yy=y(i:i+m-1); f(i,1)=c*yy/h^n; end
|
|
end
|