náhled|Porovnání přibližných řešení pomocí různých verzí Rugeovy-Kuttovy metody. Zelená je původní funkce, fialová je klasická RK4, světle modrá je Heunova, tmavě modrá je Eulerova s poloviční délkou kroku a červená je Eulerova. Heunova metoda vyžaduje v jednom kroku dvakrát spočítat hodnotu funkce , Eulerova pouze jednou.|400x400pixelů Rungeova–Kuttova metoda je metoda pro numerické řešení obyčejných diferenciálních rovnic, kterou kolem roku 1900 vytvořili němečtí matematici Carl Runge a Wilhelm Kutta, případně některá z podobných metod (společně jsou zvané Rungeovy–Kuttovy metody).

Rungeova–Kuttova metoda hledá přibližné řešení rovnice s okrajovou podmínkou Přitom je neznámá skalární nebo vektorová funkce času , kterou chceme aproximovat. Známe funkci , propojující časovou derivaci s hodnotou a časem a známe také počáteční čas a odpovídající hodnotu v tomto čase, která je .

RK4

K odhadu klasickou Rungeovou–Kuttovou metodou (též označovanou RK4) je nejprve potřeba zvolit vhodný krok h > 0. Na jeho základě definujeme

pro n = 0, 1, 2, 3…, přičemž

Číslo je aproximace hodnoty . Aproximace se počítají jako vážené průměry čtyř jednodušších odhadů až . Zdůvodnění tohoto postupu vychází ze Simpsonova pravidla pro integrál rovnice za předpokladu, že nezávisí na .

Popsaná metoda dosahuje v jednom kroku chyby v řádu a celkově akumulované chyby v řádu Neuvažujeme-li vliv zaokrouhlovacích chyb, tak menší krok obvykle vede k přesnějšímu odhadu, avšak za cenu více počítání.

Další varianty

Existují různé varianty této metody v závislosti na požadovaném počtu mezikroků (tj. řád metody) a z toho vyplývající přesnosti. Navíc i při určitém počtu mezikroků lze volit různé koeficienty.

Eulerova metoda

Nejjednodušší jednokrokovou verzí je Eulerova metoda, která je tzv. metodou prvního řádu a kdy se další bod bere rovnou ve směru derivace v aktuálním bodu.

Heunova metoda

Jedná se již o metodu druhého řádu, tj. funkce se vyhodnocuje dvakrát.

Metoda třetího řádu

Jedna z možných verzí.

Jiné koeficienty metody čtvrtého řádu

Adaptivní metody

Je možné navrhnout mezikroky a koeficienty metody n-tého řádu tak, aby byly použitelné i pro metodu řádu n+1. Porovnáním výsledku n-tého řádu a řádu n+1 lze odhadnout, jak moc je chyba velká a v případě potřeby prodloužit nebo zkrátit délku kroku .

Nejjednodušším příkladem je kombinace Eulerovy a Heunovy metody, neboť výsledek jednoho kroku Eulerovy metody je zároveň prvním mezikrokem Heunovy metody.

V programech MATLAB a GNU Octave je ve funkci ode45 použita metoda Dormand-Prince.

Reference

Externí odkazy

Kategorie:Numerická matematika Kategorie:Diferenciální rovnice