A companion with the book. Dingyu Xue. Fractional-order Control Systems - Fundamentals and Numerical Implementations. Berlin: de Gruyter, 2017.
Also a standard toolbox for fractional calculus and fractional-order control.
(1) High precision algorithms are provided for fractional derivatives and fractional differential equations;
(2) Two classes, FOTF and FOSS, are provided to fully support the modelling, analysis and design of multivariable fractional-order systems;
(3) A Simulink blockset, fotflib, is provided. Together with the modelling schemes proposed, fractional-order systems of any complexity can be modeled and simulated.
Dingyu Xue (2019). FOTF Toolbox (https://www.mathworks.com/matlabcentral/fileexchange/60874-fotf-toolbox), MATLAB Central File Exchange. Retrieved .
The 'optimfopid.fig' issue is solved by reinstalling the FOTF toolbox.
Hello . I want to solve a fractional differential equation with FOTF so that its input is exponential. Please guide me! Thanks
Hello . I want to solve a fractional differential equation with Fouf so that its input is exponential. Please guide me! Thanks
Great work! Thanks very much, Prof. Xue
please help to install fotf tolbox for matlab
i have problem when i use the following command
sys=fotf([2012.4087 107.2882 1.0305],[1.8063 0.93529 0],,);
opt = stepDataOptions('InputOffset',-1.5,'StepAmplitude',-2);
the error are Undefined operator '/' for input arguments of type 'ltioptions.step'.
Error in fotf/step (line 12)
if nargin==1, t=[0:0.2:10]'; elseif length(t)==1, t=0:t/100:t; end
Error in test (line 5)
I can not download FOTF toolbox. You can send it to me?
Thanks for the toolbox. I'm having a problem when computing the unit feedback of a FOTF transfer function with time delay. The error message is
Error using fotf/feedback (line 19)
delay in incompatible
How can i obtain the closed loop transfer function of a FOTF with time delay ?
thanks very much!They are very useful for my study.
Thank you!!! :)
Sorry mohammed for the late response. e-22 like values cannot be handled under the double precision framework.
when I use FOTF TOOL G=fotf([1.1 1.9 0.4],[1.8 0.5 0],[0.8 2],[1.2 0]), I keep getting the error:Cannot redefine class 'fotf' without a call to 'clear classes'.
num, nn, den, nd, ioDelay
if isa(a,'fotf'), G=a;
elseif isa(a,'foss'), G=foss2fotf(a);
elseif nargin==1 & (isa(a,'tf')|isa(a,'ss')|isa(a,'double')),
a=tf(a); [n1,m1]=size(a); G=; D=a.ioDelay;
for i=1:n1, g=; for j=1:m1,%D(i,j)=a(i,j).ioDelay;
nd=length(d)-1:-1:0; g=[g fotf(d,nd,n,nn,D(i,j))];
end, G=[G; g]; end
elseif nargin==1 & a=='s', G=fotf(1,0,1,1,0);
else, ii=find(abs(a)<eps); a(ii)=; na(ii)=;
ii=find(abs(b)<eps); b(ii)=; nb(ii)=;
if length(b)==0, b=0; nb=0; end
if nargin==4, T=0; end
G.num=b; G.den=a; G.nn=nb; G.nd=na; G.ioDelay=T;
end, end, end, end
Thank you very much for this valuable tool,
however, when I using tiny numbers (let say e-22) in a matrix "a" of "fotf(a,na,b,nb)" it just ignores this value, is that something can be sorted?
Thank you very much for this useful toolbox
please help me
I have fractional PD controller like this form
Gc(s)=kp[1+kds]^y (y=gamma .it is not alfa or lamda).
how i can simulate it?
please help me
How can we calculate the Lyapunov Exponents of a system of fractional differential equations?
Thank you very much for this really useful toolbox.
Thanks a lot,Prof Xue!My undergraduate design is about fractional-order linear sysytems and your book helps me remarkably.
Dear Jesus Navarro
Thanks for pointing out the bug. In the original code, u supposes to be a column-based matrix for each input signal. The command lsim(G,u',t) should be used.
Therefore, it is not convinient in this way. To remove the bug, the first three lines of the code can be rewritten as follows, such that the command lsim(G,u,t) can also be used
[n,m]=size(G); t0=t(1); t1=t(end); [nu,mu]=size(u);
if nu==m & mu==length(t), u=u.'; end
if nargout==0, lsim(tf(zeros(n,m)),'w',zeros(size(u)),t); end
So far I like what you have contributed. I am having one issue. Whenever I create a fotf with t=1:0.001:10; and u=sin(t.^2); and run lsim(G,u,t), I keep getting the error:
"Index exceeds matrix dimensions."
and it displays:
Error in fode_sol9 (line 10)
Error in fotf/lsim (line 6) y2=fode_sol9(g.den,g.nd,g.num,g.nn,uu,t,5);
I wanted to make sure if the code you have submitted is correct or maybe there is something that needs to be changed slightly. Thank you!
Some bugs are fixed; Suggestions from Professor Igor Podlubny are acccepted, and a set of benchmark problems for FODEs is updated and a paper is modified, with Simulink modelling schemes.
Updated for the book "Dingyu Xue. Fractional-order Control Systems - Fundamentals and Numerical Implementations. Berlin: de Gruyter", scheduled for printing TODAY (2 June, 2017). Some of the files are updated and all the files are now with comments.
The comments on syntax to all the functions are added. The compatibility to earlier versions of MATLAB are supported.