FractionOrderSystem/FOTF Toolbox/aux_func.m

19 lines
670 B
Matlab

function [T,dT,w,d2]=aux_func(t,y0,alpha,p)
% aux_func - auxilliary function, not recommended to call directly
% Copyright (c) Dingyu Xue, Northeastern University, China
% Created 28 March, 2017
% Last Modified 18 May, 2022
an=ceil(alpha); y0=y0(:); q=length(y0); d2=length(alpha);
m=length(t); g=double(genfunc(p));
for i=1:d2, w(:,i)=get_vecw(alpha(i),m,g)'; end
b=y0./gamma(1:q)'; T=0; dT=zeros(m,d2);
for i=1:q, T=T+b(i)*t.^(i-1); end
for i=1:d2
if an(i)==0, dT(:,i)=T;
elseif an(i)<q
for j=(an(i)+1):q
dT(:,i)=dT(:,i)+(t.^(j-1-alpha(i)))*...
b(j)*gamma(j)/gamma(j-alpha(i));
end, end, end, end