init
This commit is contained in:
24
FOTF Toolbox/rlfdiff.m
Normal file
24
FOTF Toolbox/rlfdiff.m
Normal file
@ -0,0 +1,24 @@
|
||||
function [dy,t]=rlfdiff(y,t,r)
|
||||
% rlfdiff - computation of RL derivatives, not recommended
|
||||
%
|
||||
% [dy,t]=rlfdiff(y,t,r)
|
||||
%
|
||||
% y, t - the samples of the function at time vector t
|
||||
% r - the fractional order, can be nagative for integrals
|
||||
% dy - the Riemann-Liouville derivative of y
|
||||
|
||||
% Copyright (c) Dingyu Xue, Northeastern University, China
|
||||
% Last modified 28 March, 2017
|
||||
% Last modified 18 May, 2022
|
||||
arguments, y(:,1), t(:,1) double, r(1,1) double, end
|
||||
[y,h,n]=fdiffcom(y,t); dy1=zeros(1,n);
|
||||
if r>-1, m=ceil(r)+1; p=m-r; y3=t.^(p-1);
|
||||
elseif r==-1
|
||||
yy=0.5*(y(1:n-1)+y(2:n)).*diff(t);
|
||||
for i=2:n, dy(i)=dy(i-1)+yy(i-1); end, return
|
||||
else, m=-r; y3=t.^(m-1); end
|
||||
for i=1:n, dy1(i)=y(i:-1:1).'*(y3(1:i)); end
|
||||
if r>-1, dy=diff(dy1,m)/(h^(m-1))/gamma(p); t=t(1:n-m);
|
||||
else, dy=dy1*h/gamma(m); end, dy=dy(:);
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user