Applications des équations différentielles
Le bouton « Applications des équations différentielles » de l’écran d’accueil ouvre un formulaire de 23 modèles : carbone 14, désintégration et demi-vie, croissance exponentielle, chaîne de désintégration, refroidissement de Newton (aussi l’heure du décès à partir de deux mesures), cinétique chimique d’ordre 0 à 2, médicament dans le sang, alcoolémie, épargne et crédit, circuits RC, RL et RLC, ressort, chute avec frottement, vidange d’un réservoir, mélange, croissance logistique et de Gompertz, population exploitée, épidémie SIR, proie et prédateur, compétition de deux espèces et chémostat.
Vous choisissez le modèle, sa variante et ce que vous cherchez ; les constantes sont préremplies et modifiables. Chaque grandeur et le résultat ont une unité au choix : l’application convertit les valeurs (la conversion est une étape). Le « ? » à côté du modèle explique d’où vient son équation.
Les étapes posent le modèle, résolvent l’équation (séparation des variables, facteur intégrant, équation caractéristique), utilisent les conditions, expriment la grandeur cherchée et remplacent par les nombres. Les systèmes sont résolus numériquement par Runge–Kutta, leurs équilibres et leur stabilité exactement. Le graphique montre les grandeurs au cours du temps, pour les systèmes aussi le plan de phase.
Exemples
model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)![model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)](img/models-radiocarbon.png)
![model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)](img/models-radiocarbon-1.png)
![model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)](img/models-radiocarbon-2.png)
![model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)](img/models-radiocarbon-3.png)
model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)![model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)](img/models-death.png)
![model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)](img/models-death-1.png)
![model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)](img/models-death-2.png)
![model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)](img/models-death-3.png)
model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)![model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)](img/models-drug.png)
![model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)](img/models-drug-1.png)
![model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)](img/models-drug-2.png)
![model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)](img/models-drug-3.png)
model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)![model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)](img/models-loan.png)
![model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)](img/models-loan-1.png)
![model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)](img/models-loan-2.png)
![model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)](img/models-loan-3.png)
model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)![model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)](img/models-rc.png)
![model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)](img/models-rc-1.png)
![model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)](img/models-rc-2.png)
![model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)](img/models-rc-3.png)
model(spring; find=x[cm]; m=0.5[kg]; k=20[N_m]; b=1[kg_s]; x0=5[cm]; v0=0[m_s]; t=1[s])![model(spring; find=x[cm]; m=0.5[kg]; k=20[N_m]; b=1[kg_s]; x0=5[cm]; v0=0[m_s]; t=1[s])](img/models-spring.png)
![model(spring; find=x[cm]; m=0.5[kg]; k=20[N_m]; b=1[kg_s]; x0=5[cm]; v0=0[m_s]; t=1[s])](img/models-spring-1.png)
![model(spring; find=x[cm]; m=0.5[kg]; k=20[N_m]; b=1[kg_s]; x0=5[cm]; v0=0[m_s]; t=1[s])](img/models-spring-2.png)
![model(spring; find=x[cm]; m=0.5[kg]; k=20[N_m]; b=1[kg_s]; x0=5[cm]; v0=0[m_s]; t=1[s])](img/models-spring-3.png)
model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)![model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)](img/models-sir.png)
![model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)](img/models-sir-1.png)
![model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)](img/models-sir-2.png)
![model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)](img/models-sir-3.png)
model(predator; find=overview[mo]; a=0.5[per_mo]; b=0.01[per_pcs_mo]; c=0.4[per_mo]; d=0.005[per_pcs_mo]; x0=100[pcs]; y0=20[pcs])![model(predator; find=overview[mo]; a=0.5[per_mo]; b=0.01[per_pcs_mo]; c=0.4[per_mo]; d=0.005[per_pcs_mo]; x0=100[pcs]; y0=20[pcs])](img/models-predator.png)
![model(predator; find=overview[mo]; a=0.5[per_mo]; b=0.01[per_pcs_mo]; c=0.4[per_mo]; d=0.005[per_pcs_mo]; x0=100[pcs]; y0=20[pcs])](img/models-predator-1.png)
![model(predator; find=overview[mo]; a=0.5[per_mo]; b=0.01[per_pcs_mo]; c=0.4[per_mo]; d=0.005[per_pcs_mo]; x0=100[pcs]; y0=20[pcs])](img/models-predator-2.png)
![model(predator; find=overview[mo]; a=0.5[per_mo]; b=0.01[per_pcs_mo]; c=0.4[per_mo]; d=0.005[per_pcs_mo]; x0=100[pcs]; y0=20[pcs])](img/models-predator-3.png)