Eulerova metoda

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 8. ledna 2022; kontroly vyžadují 7 úprav .

Eulerova metoda  je nejjednodušší numerická metoda pro řešení soustav obyčejných diferenciálních rovnic . Poprvé popsaný Leonhardem Eulerem v roce 1768 ve svém díle „Integrální počet“ [1] . Eulerova metoda je explicitní, jednokroková metoda přesnosti prvního řádu. Je založena na aproximaci integrální křivky po částech lineární funkcí, tzv. Eulerova lomená čára.

Popis metody

Nechť je dán Cauchyho problém pro rovnici prvního řádu:

kde je funkce definována na nějaké doméně . Řešení se hledá v polovičním intervalu . Na tomto intervalu zavedeme uzly: Přibližné řešení v uzlech , které označíme , je určeno vzorcem:

Tyto vzorce lze přímo zobecnit na případ soustav obyčejných diferenciálních rovnic.

Odhad chyby metody v kroku a obecně

Chyba kroku nebo místní chyba je rozdíl mezi numerickým řešením po jednom kroku výpočtu a přesným řešením v bodě . Numerické řešení je dáno vzorcem

Přesné řešení lze rozšířit v Taylorově řadě :

Lokální chybu získáme odečtením první od druhé rovnosti:

To platí, pokud má spojitou druhou derivaci [2] . Další postačující podmínkou platnosti tohoto odhadu, ze které vyplývá ten předchozí a kterou lze obvykle snadno ověřit, je spojitá diferencovatelnost vzhledem k oběma argumentům [3] .

Chyba obecná, globální nebo akumulovaná chyba je chyba v posledním bodě libovolného konečného segmentu integrace rovnice. Pro výpočet řešení v tomto bodě jsou nutné kroky, kde je délka segmentu. Proto globální chyba metody .

Eulerova metoda je tedy metodou prvního řádu - má chybu v kroku a chybu obecně [3] .

Význam Eulerovy metody

Eulerova metoda byla historicky první metodou pro numerické řešení Cauchyho úlohy. O. Cauchy touto metodou dokázal existenci řešení Cauchyho problému. Vzhledem k nízké přesnosti a výpočetní nestabilitě se Eulerova metoda k nalezení praktických řešení Cauchyho problému používá jen zřídka. Pro svou jednoduchost však Eulerova metoda nachází uplatnění v teoretických studiích diferenciálních rovnic, úlohách variačního počtu a řadě dalších matematických problémů.

Modifikace a zobecnění

Upravená Eulerova metoda s přepočtem

Je možné zvýšit přesnost a stabilitu výpočtu řešení pomocí explicitní Eulerovy metody následujícího formuláře.

Předpověď:

.

Oprava:

.

Pro zlepšení přesnosti lze opravnou iteraci opakovat nahrazením .

Modifikovaná Eulerova metoda s přepočtem má druhý řád přesnosti, pro její implementaci je však nutné počítat minimálně dvakrát . Eulerova metoda s přepočtem je variací metod Runge-Kutta (prediktor-korektor).

Adams-Bashforth dvoukroková metoda

Dalším způsobem, jak zvýšit přesnost metody, je použití ne jedné, ale několika dříve vypočítaných funkčních hodnot:

Jedná se o lineární vícekrokovou metodu .

Implementace v programovacích jazycích

Implementace C pro .

#include <stdio.h> double func ( double x , double y ) { návrat 6 * x * x + 5 * x * y ; // první derivační funkce } int main ( int argc , char ** argv ) { int i , n ; dvojité x , y , h ; h = 0,01 ; // krok n = 10 ; // počet opakování x = 1 ; // x0 y = 1 ; // y0 pro ( i = 0 ; i < n ; i ++ ) { y += h * func ( x , y ); // výpočet yi x += h ; } return EXIT_SUCCESS ; }

Implementace v Pythonu 3.7 :

# n - počet iterací, h - krok, (x, y) - výchozí bod def Euler ( n = 10 , h = 0,01 , x = 1 , y = 1 ): pro i v rozsahu ( n ): y += h * funkce ( x , y ) x += h návrat x , y # řešení def funkce ( x , y ): návrat 6 * x ** 2 + 5 * x * y # první derivační funkce tisknout ( Euler ())

Implementace v jazyce Lua :

n , h , x , y = 10 , 0,01 , 1 , 1 -- počet iterací, krok, funkce souřadnic počátečního bodu f ( x , y ) return 6 * x ^ 2 + 5 * x * y konec -- první derivace funkce pro i = 1 , n do x , y = x + h , y + h * f ( x , y ) konec tisku ( 'x: ' .. x .. ' y: ' .. y )

Viz také

Poznámky

  1. Euler L. Integrální počet, svazek 1, oddíl 2, kap. 7.
  2. Atkinson, Kendall A. (1989), Úvod do numerické analýzy (2. vyd.), New York: John Wiley & Sons , str. 342, ISBN 978-0-471-50023-0 
  3. 1 2 Matematický encyklopedický slovník . - M .: "Sovy. encyklopedie“ , 1988. - S.  641 .

Literatura

  • Euler L. Integrální počet. Svazek 1. - M .: GITTL. 1956. [1]
  • Babenko K. I. Základy numerické analýzy. — M.: Nauka. 1986.