function sol = run_lotka()
% RUN_LOTKA simulation du systeme de Lotka-Volterra

% parametres d'integration
CI = [30; 2];
tspan = [0 20];

% parametres du systeme
pars = [0.1 1 2 ];      % Les variables a, b, c, d sont partagees
b = 0.01;   % avec la fonction imbriquee lotka
c = 1;
d = 0.02;

% resolution du systeme pour 3 jeux de parametres differents
for i = 1:3
    a = pars(i); % on met a jour la valeur de a
    sol{i} = ode23(@lotka,tspan,CI);
end

% plot des 3 solutions
nx = 200;
xint = linspace(tspan(1),tspan(2),nx);
figure(2); clf;
newplot;            % met en place un nouveau plot
hold on             % qui ne s'effacera pas a chaque appel de plot
cols = 'kbr';       % couleurs k: noir, b: bleu, r:rouge
for i = 1:3
    yint = deval(sol{i},xint);
    plot(xint,yint,'Color',cols(i))
end
xlabel('temps'); ylabel('population');

    function dxdt = lotka(~,xx)  % fonction imbriquee
        % LOTKA systeme d'EDO
        
        x = xx(1); y = xx(2);
        
        dxdt = [ x * (a - b * y)
            -y * (c - d * x)];
    end                         % on termine d'abord la fonction imbriquee

end                             % on termine ensuite la fonction principale