function [y1,T,y0] = prob7(t,y,jaco)
%
% [alpha,T,y0] = prob7
%
% or
%            f = prob7(t,y)
%
% or
%           f' = prob7(t,y,1)
%
% or
%            y = prob7(t)
%
% Problem 7 in:
%
%  L.Brugnano, G.Gurioli, F.Iavernaro, M.Vikerpuur. 
%  FDE-testset: comparing Matlab© codes for solving fractional
%  differential equations of Caputo type
%  Fractal Fract. 2025, 9(5), 312; https://doi.org/10.3390/fractalfract9050312
%
% 
alfa = 0.2;
sol = @(t) (1-t.^2).^2+(4+2*t.^(0.1)-3*t.^(0.3)).*t.^(0.2);
g   = @(t) t.^(3.8)*(24/gamma(4.8))-t.^(1.8)*(4/gamma(2.8))+4*gamma(1.2)...
    -3*t.^(0.3)*(gamma(1.5)/gamma(1.3))+t.^(0.1)*(2*gamma(1.3)/gamma(1.1));
if nargin==0    % problem data
    y1   = alfa;
    T    = 2;
    y0   = 1;
elseif nargin==1 % solution
    y1   = sol(t);
elseif nargin==2 % vector field
    y1   = sol(t).^2-y.^2+g(t);
else             % Jacobian
    y1   = -2*y; 
end
return

           