Runge – Kutta – Fehlbergova metoda - Runge–Kutta–Fehlberg method
v matematika, Runge – Kutta – Fehlbergova metoda (nebo Fehlbergova metoda) je algoritmus v numerická analýza pro numerické řešení obyčejných diferenciálních rovnic. Byl vyvinut německým matematikem Erwin Fehlberg a je založen na velké třídě Metody Runge – Kutta.
Novinkou Fehlbergovy metody je, že jde o vestavěnou metodu[je nutná definice ] z Rodina Runge – Kutta, což znamená, že identická vyhodnocení funkcí se používají ve vzájemném spojení k vytváření metod různého pořadí a podobných chybových konstant. Metoda uvedená v Fehlbergově článku z roku 1969 byla nazvána RKF45 metoda, a je to metoda řádu O (h4) s odhadem chyb řádu O (h5).[1] Provedením jednoho výpočtu navíc lze odhadnout a kontrolovat chybu v řešení pomocí vložené metody vyššího řádu, která umožňuje adaptivní velikost kroku bude stanoveno automaticky.
Řeznické tablo pro Fehlbergovu metodu 4 (5)
Žádný Metoda Runge – Kutta je jednoznačně identifikován jeho Řeznické tablo. Vložený pár navržený Fehlbergem[2]
0 | |||||||
1/4 | 1/4 | ||||||
3/8 | 3/32 | 9/32 | |||||
12/13 | 1932/2197 | −7200/2197 | 7296/2197 | ||||
1 | 439/216 | −8 | 3680/513 | −845/4104 | |||
1/2 | −8/27 | 2 | −3544/2565 | 1859/4104 | −11/40 | ||
16/135 | 0 | 6656/12825 | 28561/56430 | −9/50 | 2/55 | ||
25/216 | 0 | 1408/2565 | 2197/4104 | −1/5 | 0 |
První řádek koeficientů ve spodní části tabulky poskytuje přesnou metodu pátého řádu a druhý řádek poskytuje přesnou metodu čtvrtého řádu.
Implementace algoritmu RK4 (5)
Koeficienty nalezené Fehlbergem pro formuli 1 (derivace s jeho parametrem α2 = 1/3) jsou uvedeny v níže uvedené tabulce, přičemž použití indexování pole základny 1 místo základny 0 je kompatibilní s většinou počítačových jazyků:
K. | A (K) | B (K, L) | C (K) | CH (K) | CT (K) | ||||
---|---|---|---|---|---|---|---|---|---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 | |||||
1 | 0 | 1/9 | 47/450 | -1/150 | |||||
2 | 2/9 | 2/9 | 0 | 0 | 0 | ||||
3 | 1/3 | 1/12 | 1/4 | 2/20 | 12/25 | 3/100 | |||
4 | 3/4 | 69/128 | -243/128 | 135/64 | 16/45 | 32/225 | -16/75 | ||
5 | 1 | -17/12 | 27/4 | -27/5 | 16/15 | 1/12 | 1/30 | -1/20 | |
6 | 5/6 | 65/432 | -5/16 | 13/16 | 4/27 | 5/144 | 6/25 | 6/25 |
Fehlberg[2] nastiňuje řešení řešení systému n diferenciální rovnice tvaru:
iterativní řešení pro
kde h je adaptivní velikost kroku bude stanoveno algoritmicky:
Řešením je vážený průměr šesti přírůstků, kde každý přírůstek je součinem velikosti intervalu, a odhadovaný sklon určený funkcí F na pravé straně diferenciální rovnice.
Vážený průměr je pak:
Odhad chyby zkrácení je:
Po dokončení kroku se vypočítá nová velikost kroků:
Li , poté vyměňte s a opakujte krok. Li , pak je krok dokončen. Nahradit s pro další krok.
Koeficienty nalezené Fehlbergem pro formuli 2 (derivace s jeho parametrem α2 = 3/8) jsou uvedeny v níže uvedené tabulce, přičemž použití indexování pole báze 1 namísto báze 0 je kompatibilní s většinou počítačových jazyků:
K. | A (K) | B (K, L) | C (K) | CH (K) | CT (K) | ||||
---|---|---|---|---|---|---|---|---|---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 | |||||
1 | 0 | 25/216 | 16/135 | 1/360 | |||||
2 | 1/4 | 1/4 | 0 | 0 | 0 | ||||
3 | 3/8 | 3/32 | 9/32 | 1408/2565 | 6656/12825 | -128/4275 | |||
4 | 12/13 | 1932/2197 | -7200/2197 | 7296/2197 | 2197/4104 | 28561/56430 | -2187/75240 | ||
5 | 1 | 439/216 | -8 | 3680/513 | -845/4104 | -1/5 | -9/50 | 1/50 | |
6 | 1/2 | -8/27 | 2 | -3544/2565 | 1859/4104 | -11/40 | 2/55 | 2/55 |
V jiné tabulce ve Fehlbergu[2], jsou uvedeny koeficienty pro RKF4 (5) odvozené D. Sarafyanem:
K. | A (K) | B (K, L) | C (K) | CH (K) | CT (K) | ||||
---|---|---|---|---|---|---|---|---|---|
L = 1 | L = 2 | L = 3 | L = 4 | L = 5 | |||||
1 | 0 | 0 | 1/6 | 1/24 | -1/8 | ||||
2 | 1/2 | 1/2 | 0 | 0 | 0 | ||||
3 | 1/2 | 1/4 | 1/4 | 2/3 | 0 | -2/3 | |||
4 | 1 | 0 | -1 | 2 | 1/6 | 5/48 | -1/16 | ||
5 | 2/3 | 7/27 | 10/27 | 0 | 1/27 | 27/56 | 27/56 | ||
6 | 1/5 | 28/625 | -1/5 | 546/625 | 54/625 | -378/625 | 125/336 | 125/336 |
Viz také
Poznámky
- ^ Podle Hairer et al. (1993, §II.4), metoda byla původně navržena ve Fehlbergovi (1969); Fehlberg (1970) je výtahem z druhé publikace.
- ^ A b C d E F Hairer, Nørsett & Wanner (1993, str. 177) odkazují na Fehlberg (1969)
Reference
- Svobodný software implementace v GNU oktáva: http://octave.sourceforge.net/odepkg/function/ode45.html
- Erwin Fehlberg (1969). Klasické vzorce Runge-Kutta nízkého řádu s řízením velikosti kroku a jejich aplikací na některé problémy přenosu tepla . Technická zpráva NASA 315. https://ntrs.nasa.gov/api/citations/19690021375/downloads/19690021375.pdf
- Erwin Fehlberg (1968) Klasické vzorce Runge-Jutta pátého, šestého, sedmého a osmého řádu s ovládáním kroků. Technická zpráva NASA 287. https://ntrs.nasa.gov/api/citations/19680027281/downloads/19680027281.pdf
- Erwin Fehlberg (1970) Některé experimentální výsledky týkající se šíření chyb ve vzorcích integrace typu Runge-Kutta. Technická zpráva NASA R-352. https://ntrs.nasa.gov/api/citations/19700031412/downloads/19700031412.pdf
- Erwin Fehlberg (1970). „Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Wärmeleitungsprobleme,“ Výpočetní technika (Arch. Elektron. Rechnen), sv. 6, s. 61–71. doi:10.1007 / BF02241732
- Ernst Hairer, Syvert Nørsett a Gerhard Wanner (1993). Řešení obyčejných diferenciálních rovnic I: Nonstiffové problémy, druhé vydání, Springer-Verlag, Berlín. ISBN 3-540-56670-8.
- Diran Sarafyan (1966) Odhad chyb pro metody Runge-Kutta pomocí pseudo-iteračních vzorců. Technická zpráva č. 14, Louisianská státní univerzita v New Orleans, květen 1966.
Další čtení
- Simos, T. E. (1993). Runge-Kuttova Fehlbergova metoda s fázovým zpožděním řádu nekonečna pro problémy s počáteční hodnotou s oscilačním řešením. Počítače a matematika s aplikacemi, 25 (6), 95-101.
- Handapangoda, C. C., Premaratne, M., Yeo, L. a Friend, J. (2008). Laguerre Runge-Kutta-Fehlbergova metoda pro simulaci šíření laserového pulzu v biologické tkáni. IEEE Journal of Selected Topics in Quantum Electronics, 14 (1), 105-112.
- Paul, S., Mondal, S. P., & Bhattacharya, P. (2016). Numerické řešení predátorského modelu kořisti Lotka Volterra pomocí metody Runge – Kutta – Fehlberg a metody Laplaceova Adomianova rozkladu. Alexandria Engineering Journal, 55 (1), 613-617.
- Filiz, A. (2014). Numerické řešení lineární Volterra integro-diferenciální rovnice metodou Runge-Kutta-Fehlberg. Aplikovaná a výpočetní matematika, 3 (1), 9-14.
- Simos, T. E. (1995). Upravené metody Runge-Kutta-Fehlberg pro periodické problémy s počáteční hodnotou. Japonský časopis průmyslové a aplikované matematiky, 12 (1), 109.
- Sarafyan, D. (1994) Přibližné řešení obyčejných diferenciálních rovnic a jejich systémů pomocí diskrétních a spojitých vložených Runge-Kuttových vzorců a upgradem jejich pořadí, Počítače matematika. Applic. Sv. 28, č. 10-12, str. 353-384, 1994 https://core.ac.uk/download/pdf/82540775.pdf