IntegralLab kolik se toho nasbíralo

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Stabilita: Euler neselže postupně, selže naráz

Většina chyb v numerice se chová slušně: krok je dvakrát menší, chyba dvakrát menší. Stabilita se takhle nechová. Má hranici, a na jedné straně od ní metoda funguje, na druhé straně vybuchne.

0,000,250,500,751,0010h = 6.25e-22/λ = 6.67e-2STABILNÍh < 2/λEuler v čase 10,11807pravda9.4e-14RK4 zeleně, přesnéřešení přerušovaněNestabilita není nepřesnost: hodnota mění znaménko a roste, přestože přesné řešení klesá k nule.
h = 6.250e-2, hranice 2/λ = 6.667e-2 — pod hranicí, Euler drží.
Zkus λ = 30 a 16 kroků: přesné řešení klesne k 10⁻¹³, Euler skončí na hodnotě, která má opačné znaménko a je o tisíce větší.
h < 2/λpodmínka stability explicitního Eulera pro y′ = −λy

Odvození je na tři řádky. Euler dělá y_{k+1} = y_k − h·λ·y_k = (1 − hλ)·y_k. Každý krok tedy násobí týmž činitelem. Aby řešení klesalo, musí být |1 − hλ| < 1, což dá 0 < h < 2/λ. Ne přibližně, ne většinou — přesně tam.

h1 − hλco dělá řešení
h < 1/λmezi 0 a 1klesá hladce, správně
1/λ < h < 2/λmezi −1 a 0klesá, ale střídá znaménko — ošklivé, ale drží
h > 2/λpod −1roste do nekonečna se střídavým znaménkem

Testy v repu měří obojí: při h = 0,0526 (pod hranicí) skončí Euler na −3,1·10⁻⁵, při h = 0,1111 (nad hranicí) na −2,1·10³. Přesná odpověď je 9,4·10⁻¹⁴.

Tuhé soustavy

Skutečný problém nastane, když soustava obsahuje děj rychlý a děj pomalý najednou. Motor má elektrickou časovou konstantu v milisekundách a mechanickou v sekundách. Sledovat se chce ta pomalá — jenže krok diktuje ta rychlá, protože jinak metoda vybuchne. Takové soustavě se říká tuhá a znamená to statisíce kroků na sekundu simulace, přestože se nic zajímavého neděje.

Řešení je implicitní metoda. Implicitní Euler y_{k+1} = y_k + h·f(t, y_{k+1}) počítá pravou stranu v novém bodě. Za to, že se musí v každém kroku řešit rovnice, dostane stabilitu pro libovolně velké h — tuhá soustava přestane být problém. Tady se implicitní metody nepočítají, ale stojí za to vědět, proč existují: nejsou přesnější, jsou stabilnější, a to jsou dvě různé věci.

Vzorce v této kapitole

h < 2/λ — mez stability explicitního Eulera
|1 − hλ| < 1 ⇒ h < 2/λ [s] kap. 9