Modèle de FitzHugh-Nagumo

Le modèle de FitzHugh-Nagumo (FHN) est une simplification du modèle de Hodgkin-Huxley pour le potentiel d'action des axones géantes du calmar.

$$\dot v = v - v^3/3 - w + I(t)$$ $$\dot w = 0.08 (v + 0.7 - 0.8w)$$

La variable v est le potentiel de la membrane, w un variable de récupération, et I(t) l'intensité de courant appliqué.

Le fichier fonction .m Matlab peut être téléchargé ici fitzhughnagumo.m. Le papier original de Richard FitzHugh peut être téléchargé librement. Le contenu du fichier Matlab se trouve aussi ci-dessous. Vous pouvez le copier et le coller dans votre éditeur de texte nommer le fichier fitzhughnagumo.m.

function simulation_output = fitzhughnagumo()
% FITZHUGHNAGUMO simule le modele de potentiel d'action de Fitzhugh-Nagumo

% Parametres du modele
a = 0.08;
b = 0.7;
c = 0.8;

% Parametres de courant applique
t0 = 10;
duree = 100; % 
intensite = 0.4; 

% Parametres de simulation
tspan = [0, 200]; % intervalle d'integration
ic = [-1.1993;
      -0.6243]; % conditions initiales

sol = ode45(@fitz,tspan,ic);

% plot des solutions
nx = 400;
xint = linspace(tspan(1),tspan(2),nx);
figure(1); clf;
yint = deval(sol,xint);

% plot des nullclines
vv = linspace(-2.5,2.5);
v_null_nostim = vv - vv.^3/3;
v_null_stim = vv - vv.^3/3 + intensite;
w_null = (vv + b)/c;

% evolution temporelle
subplot(121)
plot(xint,yint)
hold on             % qui ne s'effacera pas a chaque appel de plot
axis([tspan(1) tspan(2) -2.5 2.5]); 
axis square
xlabel('t'); ylabel('x');
legend('V - potentiel de la membrane', ...
    'W - variable de recuperation')

% portrait de phase
subplot(122)
plot(yint(1,:),yint(2,:),'k')
hold on
plot(vv,v_null_nostim,vv,w_null,vv,v_null_stim)
axis([-2.5 2.5 -1.5 1.5]); 
axis square
xlabel('V - potentiel de la membrane'); 
ylabel('W - variable de recuperation');
legend('trajectoire de (V,W)', ...
       'nullcline de V repos', ...
       'nullcline de W', ...
       'nullcline de V stimule','Location','South');


simulation_output = sol;

% Fonctions imbriquees
% ------------------------------------------------------------------

    function dxdt = fitz(t,x)
    % FITZ EDO pour le modele de Fitzhugh-Nagumo
        
        % variables dynamiques
        v = x(1); % potentiel de la membrane
        w = x(2); % variable de recuperation
        
        % equations differentielles
        dxdt = [ v - v.^3/3 - w + input_current(t);
            a*( v + b - c*w )];
        
    end

    function I = input_current(t)
    % INPUT_CURRENT courant applique a la membrane
        
        I = intensite * ( (t >= t0) & (t < (t0 + duree)) );
    
    end

% ------------------------------------------------------------------

end
          

Exercice 1

Simulez le modèle FHN avec les paramètres par défaut donnés dans le fichier fitzhughnagumo.m. Pour cela, appelez la fonction fitzhughnagumo depuis la Command Window:

fitzhughnagumo;

a) Une figure avec deux panneaux s'affiche. Interprétez ce que vous voyez. Pour chaque panneau, que représente chaque courbe? Quel bout de code a servi à tracer les panneau? Ou se trouve l'équilibre du système en l'absence de stimulation? Ou se trouve l'équilibre du systeme en presence de stimulation? Voyez-vous une différence?

b) Changez les paramètres de courant appliqué et lancez la simulation à nouveau. Par exemple, diminuez l'intensité ou la durée du courant appliqué. Qu'observez-vous quand la stimulation devient faible et/ou courte?

Exercice 2

Le modele FHN est un système excitable. En absence de stimulation, il possede un etat d'equilibre stable, mais si l'etat du systeme est suffisament perturbe, le systeme decrira un grande trajectoire dans l'espace de phase avant de revenir a son equilibre.

Modifiez le fichier fitzhughnagumo.m pour explorer systématiquement l'excitabilité du modèle FHN. Fixez la durée de la stimulation a duree = 10, et faites varier l'intensite du courant appliqué. Pour cela, utilisez une boucle for pour calculer les solution du système pour différentes valeurs de l'intensite. Tracez ensuite les solutions pour chacune des valeurs de parametre. Vous devriez voir un seuil a partir duquel les trajectoire decrivent des excursions tres grandes.

Exercice 3

Pour certaines valeurs de l'intensite, si on applique un courant continu, l'équilibre du système devient instable et on obtient des oscillations soutenues. Par contre, si l'intensite est trop elevee, le systeme cesse d'osciller.

Modifiez la fonction input_current de fitzhughnagumo.m de façon à avoir une intensité qui augmente linéairement avec le temps, et simulez le systeme. Le système devrait osciller sur un interval de temps fini.

Exercice 4 (Lecture)

Comparer ce que vous avez observé avec le papier de FitzHugh. Est-ce que vos observation sont coherentes avec les resultats du papier? FitzHugh avait fait ses simulations sur un ordinateur analogique.