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

Stáří nálezu, ve kterém zbývá 35 % ¹⁴C.
Zadání: 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)
Doba smrti: tělo mělo při nálezu 30 °C, o hodinu později 28 °C, v místnosti je 20 °C.
Zadání: 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)
Lék 500 mg každých 8 hodin – ustálená hladina mezi dávkami.
Zadání: 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)
Měsíční splátka úvěru 1 000 000 Kč na 20 let při úroku 5 %.
Zadání: 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)
Za jak dlouho se kondenzátor nabije na polovinu napětí zdroje.
Zadání: 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)
Tlumené kmitání pružiny – výchylka v čase 1 s.
Zadání: 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])
Epidemie s R₀ = 2,5 – vrchol a konečný počet nakažených.
Zadání: 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)
Dravec a kořist – rovnováha, stabilita a perioda kmitů.
Zadání: 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])