write(%io(2),'reaction enzymatique avec feedback negatif ([Mur], page 143)');
n=evstr(x_dialog('nombre de composants','3'));
m=evstr(x_dialog('coefficient de Hill','9'));
k0=ones(n,1);
k=evstr(x_matrix('taux de reactions',k0));
cc=ones(n,1);
c0=evstr(x_matrix('concentrations initiales',cc));
tpas=evstr(x_dialog('pas de temps','0.05'));
tfin=evstr(x_dialog('temps final','30'));
getf('C:\Mes Documents\Agreg\oraux\equadiff\reac5.sci');
npts=int(tfin/tpas);
t=0:tpas:tfin;
//
// solution ode
X=ode(c0,0,t,list(reac5,n,m,k));
//
xbasc()
xsetech([0,0,0.5,0.5]);
  plot2d(t,X(1,:));
  xtitle('concentration de mRNA','t')
xsetech([0.5,0,0.5,0.5]);
  plot2d(t,X(2,:));
  xtitle('concentration de l''enzyme E','t')
xsetech([0,0.5,0.5,0.5]);
if (n>2)
   plot2d(t,X(1,:));
   xtitle('concentration du produit P','t')
end
xsetech([0.5,0.5,0.5,0.5]);
if (n==2)
     xdim=[0,0,1.2*1/k(1),1.2*1/(k(1)*k(2))];
     plot2d(X(1,:),X(2,:),1,'011',' ',xdim);
     xtitle('portrait de phase')
   pause;
//
// trace direct du portrait de phase (si n=2) avec l'instruction Scilab
//
     portrait(list(reac5,n,m,k),'default',xdim,[npts;tpas])
//
elseif (n==3)    
     param3d(X(1,:),X(2,:),X(3,:)); 
     xtitle('portrait de phase')
end  
//