Aplikace diferenciálních rovnic
Tlačítkem „Aplikace diferenciálních rovnic“ na úvodní obrazovce otevřete formulář se 23 modely: radiouhlíková metoda, rozpad a poločas, exponenciální růst, rozpadová řada, Newtonovo ochlazování (i doba smrti ze dvou měření), chemická kinetika 0.–2. řádu, lék v krvi (jedna dávka, opakované dávky, infuze), alkohol v krvi, spoření a splácení úvěru, obvody RC, RL a RLC, kmitání pružiny, pád s odporem vzduchu, vytékání nádoby, směšování v nádrži, logistický a Gompertzův růst, populace s lovem, epidemie SIR, dravec a kořist, konkurence dvou druhů a chemostat.
Vyberete model, jeho variantu a co hledáte; konstanty (poločas ¹⁴C, tíhové zrychlení, …) jsou předvyplněné a jdou přepsat. U každé veličiny i u výsledku si zvolíte jednotku – aplikace hodnoty převede (převod je v postupu). Ikonka „?“ u modelu vysvětlí, jak se k jeho rovnici došlo.
Postup začíná sestavením modelu (proč právě tahle rovnice), pokračuje řešením rovnice (separace proměnných, integrační faktor, charakteristická rovnice), dosazením podmínek a vyjádřením hledané veličiny a končí dosazením čísel. Soustavy (SIR, dravec–kořist, konkurence, chemostat) se řeší numericky metodou Runge–Kutta, přesně pak rovnovážné stavy a jejich stabilita. Graf ukáže veličiny v čase s vyznačenou odpovědí, u soustav i fázovou rovinu.
Ukázky
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)