write(%io(2),'reactions en chaine A-->B -->C ([Bil], page 34)');
a0=evstr(x_dialog('valeur initiale de A','1'));
b0=evstr(x_dialog('valeur initiale de B','0'));
k1=evstr(x_dialog('taux de reaction 1','1'));
k2=evstr(x_dialog('taux de reaction 2','10'));
tpas=evstr(x_dialog('pas de temps de calcul','0.1'));
X0=[a0;b0];
getf('C:\Mes Documents\Agreg\oraux\equadiff\reac3.sci');
deff('a=aexacte(t)','a=a0*exp(-k1*t)');
deff('b=bexacte(t)','b=1/(k2-k1)*(k1*a0*exp(-k1*t)+(k2*b0-k1*(a0+b0))*exp(-k2*t))');
deff('a=aapprochee(t)','a=a0*exp(-k1*t)');
deff('b=bapprochee(t)','b=k1*a0/k2*exp(-k1*t)');
tfin=6;
t=0:tpas:tfin;
//
// solution ode
X=ode(X0,0,t,list(reac3,a0,b0,k1,k2));
//
XA=aexacte(t);XB=bexacte(t);
XXA=aapprochee(t);XXB=bapprochee(t);
xbasc()
leg='A solveur Scilab@B solveur Scilab@A exacte@B exacte@A approchee@B approchee';
plot2d([t',t',t',t',t',t'],[X(1,:)',X(2,:)',XA',XB',XXA',XXB'],[1,2,3,4,5,6],'121',leg);
xtitle('concentration des especes A et B','t')
//