Od plochy k simulaci: diferenciální rovnice
Až sem se integroval známý integrand. V technice je ale běžnější druhá úloha: rychlost změny se ví, hodnota ne. „Zrychlení je síla děleno hmotností“ — a chce se poloha.
To je pořád integrování — jen se integrand nedá vyhodnotit dopředu, protože závisí na tom, co se teprve počítá. Metody se proto liší v tom, kolikrát a kde se v každém kroku zeptají.
| metoda | vyhodnocení / krok | řád | naměřený pokles chyby při půlení h |
|---|---|---|---|
| Euler | 1 | 1 | 1,95× |
| Heun | 2 | 2 | 4,10× |
| RK4 | 4 | 4 | 16,41× |
RK4 stojí čtyřikrát víc na krok, ale za poloviční krok je šestnáctkrát přesnější. Proto ho používá skoro každý simulátor: při stejné ceně je o řády lepší.
Co ta spirála znamená
Rovnice y″ = −y popisuje harmonický oscilátor: kyvadlo, LC obvod, hmotu na pružině. Jeho energie je konstantní, takže řešení musí ležet na kružnici. Euler ji opustí — při 24 krocích na otáčku a dvou otáčkách skončí na poloměru 1,197 místo 1,000, tedy o 20 % mimo, zatímco RK4 je na 0,999998.
A tady je pointa, kvůli které je ta figura v labce: Euler nevyrábí náhodný šum, vyrábí systematický nárůst. Simulace netlumeného kyvadla se v Euleru sama rozkmitá. Simulace obvodu bez ztrát začne dodávat výkon. Nikdo to nezadal — vzniklo to z metody.
Odtud pochází integrační složka v PID. Když regulátor sčítá odchylku, dělá přesně tohle: numericky integruje. A všechny neduhy z ControlLabu — windup, drift, závislost na periodě vzorkování — jsou vlastnosti té numerické integrace, ne regulátoru.