function [y1,T,y0] = prob10(t,y,jaco)
%
% [alpha,T,y0] = prob10
%
% or
%            f = prob10(t,y)
%
% or
%           f' = prob10(t,y,1)
%
% or
%            y = prob10(t)
%
% Problem 10  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.9;
epsi = 10;
y00  = [0 -2];
if nargin==0    % problem data
    y1   = alfa;
    T    = 30;
    y0   = y00;
elseif nargin==1% reference solution at t=30
                %computed by: [t,y,et]=fhbvm2('prob10',y0,T,10000,50,1000);
   if (t==30)             
       y1 = [-9.731412336036481e-01     4.817675882532343e-01];
   else
       y1 = [];
   end 
elseif nargin==2 % vector field
    if length(t)>1
      y1 = [y(:,2) -y(:,1)-epsi*( y(:,1).^2-1 ).*y(:,2) ];
    else
      y1 = [y(1); -y(1)-epsi*(y(1)^2-1)*y(2)];  % a column vector
    end  
else             % Jacobian
    y1   = [0 1;-1-2*epsi*y(1)*y(2) -epsi*(y(1)^2-1)];
end
return
end



           