FractionOrderSystem/FOTF Toolbox/num_diff.m

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