Algorytm Rungego-Kutty


Algorytm Rungego-Kutty w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania

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 kod

Mamy równanie postaci: y = f ( x , y ) . {\displaystyle y'=f(x,y).} Znamy początkową wartość y: y ( x 0 ) = y 0 {\displaystyle y(x_{0})=y_{0}} 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:

y n + 1 = y n + Δ y n , {\displaystyle y_{n+1}=y_{n}+{\Delta y_{n}},} Δ y n = 1 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) , {\displaystyle {\Delta y_{n}}={\frac {1}{6}}(k_{1}+2k_{2}+2k_{3}+k_{4}),}

gdzie:

k 1 = h f ( x n , y n ) , {\displaystyle k_{1}=hf\left(x_{n},y_{n}\right),} k 2 = h f ( x n + h 2 , y n + 1 2 k 1 ) , {\displaystyle k_{2}=hf\left(x_{n}+{\frac {h}{2}},y_{n}+{\frac {1}{2}}k_{1}\right),} k 3 = h f ( x n + h 2 , y n + 1 2 k 2 ) , {\displaystyle k_{3}=hf\left(x_{n}+{\frac {h}{2}},y_{n}+{\frac {1}{2}}k_{2}\right),} k 4 = h f ( x n + h , y n + k 3 ) . {\displaystyle k_{4}=hf\left(x_{n}+h,y_{n}+k_{3}\right).}

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 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)

y n + 1 = y n + h f ( x n + h 2 , y n + 1 2 k 1 ) . {\displaystyle y_{n+1}=y_{n}+hf\left(x_{n}+{\frac {h}{2}},y_{n}+{\frac {1}{2}}k_{1}\right).}

Oznaczenia takie same.

Metoda Eulera, czyli metoda RK 1. rzędu | 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ę):

y n + 1 = y n + k 1 . {\displaystyle y_{n+1}=y_{n}+k_{1}.}

Oznaczenia takie same jak poprzednio.

Zobacz też | edytuj kod

Linki zewnętrzne | edytuj kod

Na podstawie artykułu: "Algorytm Rungego-Kutty" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy