Algorytm Rungego-Kutty
Algorytm Rungego-Kutty (metoda Rungego-Kutty) – metoda numeryczna do iteracyjnego rozwiązywania równań różniczkowych zwyczajnych. Stosowana głównie w symulacjach fizycznych. Opracowana około 1900 przez niemieckich matematyków: Carla Rungego oraz Martina Kuttę.
Obecnie nazwą metody Rungego-Kutty określa się rodzinę jawnych i niejawnych metod wielokrokowych, jak również pewne ich modyfikacje. Potocznie metodą Rungego-Kutty, określa się metodę Runge-Kutty 4. rzędu ze współczynnikami podanymi poniżej. Istnieje wiele metod RK, o wielu stopniach, wielu krokach, różnych rzędach, i różniących się między sobą innymi własnościami (jak stabilność, jawność, niejawność, metody osadzone, szybkość działania itp.). Metoda Rungego-Kutty 4. rzędu jest powszechnie stosowana ze względu na prostotę implementacji, relatywnie proste wzory, dużą szybkość oraz wysoki rząd metody.[potrzebny przypis]
Spis treści
Metoda RK 4. rzędu[edytuj | edytuj kod]
Mamy równanie postaci: Znamy początkową wartość y: i chcemy poznać kolejne wartości y.
Przyjmując dowolne h, będące wielkością kroku całkowania, iteracyjny wzór na y według metody Rungego-Kutty 4. rzędu to:
gdzie:
Jak widać, wartość (yn+1) zależy od wartości (yn) i h.
W ten sposób otrzymujemy, podobnie jak w innych iteracyjnych metodach rozwiązywania równań różniczkowych kolejne punkty, które przybliżają rozwiązanie.
Metoda RK 2. rzędu[edytuj | edytuj kod]
Istnieje cała klasa metod RK 2. rzędu, z czego z nazwy wyróżnia się przynajmniej dwie metody.
Jawna metoda RK 2, znana jako metoda punktu pośredniego (ang. midpoint method)
Oznaczenia takie same.
Metoda Eulera, czyli metoda RK 1. rzędu[edytuj | edytuj kod]
Metoda Eulera jest szczególnym przypadkiem metod Runge-Kutty (metoda Eulera pojawiła się historycznie najpierw, w związku z tym zachowano tradycyjną nazwę):
Oznaczenia takie same jak poprzednio.
Zobacz też[edytuj | edytuj kod]
Linki zewnętrzne[edytuj | edytuj kod]
- MyPhysicsLab – Runge-Kutta Algorithm – omówienie (w języku angielskim)
- Numerical Recipes in C – Runge-Kutta Method – algorytm w języku C