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

Âge d’une découverte contenant encore 35 % de ¹⁴C.
Énoncé: 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)
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)model(radiocarbon; find=t[yr]; T12=5730[yr]; p=35[pct]; input=ratio)
Heure du décès : 30 °C à la découverte, 28 °C une heure plus tard, pièce à 20 °C.
Énoncé: 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)
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)model(cooling; find=t[h]; T0=30[degC]; Ta=20[degC]; t1=1[h]; T1=28[degC]; Tt=37[degC]; k=measured)
500 mg toutes les 8 heures : le taux stationnaire.
Énoncé: 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)
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)model(drug; find=steady[mg_l]; D=500[mg]; V=40[l]; T12=6[h]; tau=8[h]; mode=repeated)
Mensualité d’un crédit de 1 000 000 CZK sur 20 ans à 5 %.
Énoncé: 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)
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)model(interest; find=a[CZK_mo]; B0=1000000[CZK]; r=5[pct_yr]; t=20[yr]; B=0[CZK]; kind=loan)
Temps de charge d’un condensateur jusqu’à la moitié de la tension.
Énoncé: 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)
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)model(rc; find=t[ms]; R=10[kohm]; C=100[uF]; U=12[V]; u=6[V]; mode=charge)
Ressort amorti : élongation à 1 s.
Énoncé: 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])
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])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])
Épidémie avec R₀ = 2,5 : pic et nombre final d’infectés.
Énoncé: 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)
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)model(sir; find=overview[d]; N=10000[pcs]; I0=10[pcs]; R0=2.5; D=7[d]; rates=r0)
Proie et prédateur : équilibre, stabilité et période.
Énoncé: 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])
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])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])