Az Euler-módszer a legegyszerűbb numerikus módszer közönséges differenciálegyenletrendszerek megoldására . Először Leonhard Euler írta le 1768-ban az "Integrális kalkulus" [1] című munkájában . Az Euler-módszer egy explicit, egylépéses, elsőrendű pontossági módszer. Egy integrálgörbe darabonkénti lineáris függvénnyel, az úgynevezett Euler-szaggatott vonallal való közelítésén alapul .
Adjuk meg az elsőrendű egyenlethez tartozó Cauchy -feladatot:
ahol a függvény valamilyen tartományban van definiálva . A megoldást a félintervallumon keresik . Ezen az intervallumon csomópontokat vezetünk be: A csomópontok közelítő megoldását , amelyet -vel jelölünk , a következő képlet határozza meg:
Ezek a képletek közvetlenül általánosíthatók közönséges differenciálegyenlet-rendszerekre.
Lépéshiba vagy lokális hiba az egy számítási lépés utáni numerikus megoldás és a pont pontos megoldása közötti különbség . A numerikus megoldást a képlet adja meg
A pontos megoldás egy Taylor sorozattal bővíthető :
A lokális hibát úgy kapjuk meg, hogy kivonjuk az elsőt a második egyenlőségből:
Ez akkor igaz, ha van egy folytonos második deriváltja [2] . E becslés érvényességének másik elégséges feltétele, amelyből az előző következik, és amely általában könnyen ellenőrizhető, a folyamatos differenciálhatóság mindkét argumentum tekintetében [3] .
Az általános, globális vagy halmozott hiba az egyenlet integrálásának tetszőleges végső szegmensének utolsó pontjában fellépő hiba. A megoldás kiszámításához ezen a ponton lépésekre van szükség, ahol a szakasz hossza. Ezért a módszer globális hibája .
Így az Euler-módszer egy elsőrendű módszer - egy lépésben hibája van, és általában hibája [3] .
Történelmileg az Euler-módszer volt az első módszer a Cauchy-probléma numerikus megoldására. O. Cauchy ezzel a módszerrel bizonyította a Cauchy-probléma megoldásának létezését. Az alacsony pontosság és a számítási instabilitás miatt az Euler-módszert ritkán alkalmazzák a Cauchy-probléma gyakorlati megoldásainak megtalálására. Az Euler-módszer azonban egyszerűsége miatt alkalmazható a differenciálegyenletek elméleti tanulmányozásában, a variációszámítási problémákban és számos más matematikai feladatban.
A megoldás számításának pontosságát és stabilitását az alábbi formájú explicit Euler-módszerrel lehet növelni.
Előrejelzés:
.Javítás:
.A pontosság javítása érdekében a javító iteráció megismételhető a helyettesítéssel .
A módosított Euler-módszer az újraszámítással a második pontosságú, de a megvalósításához legalább kétszer kell számolni . Az újraszámításos Euler-módszer a Runge-Kutta (előrejelző-korrektor) módszerek egyik változata.
A módszer pontosságának növelésének másik módja, ha nem egy, hanem több korábban kiszámított függvényértéket használunk:
Ez egy lineáris többlépéses módszer .
A C megvalósítás a .
#include <stdio.h> dupla funkció ( dupla x , dupla y ) { return 6 * x * x + 5 * x * y ; // első derivált függvény } int main ( int argc , char ** argv ) { int i , n ; dupla x , y , h ; h = 0,01 ; // lépés n = 10 ; // iterációk száma x = 1 ; // x0 y = 1 ; // y0 for ( i = 0 ; i < n ; i ++ ) { y += h * függvény ( x , y ); // számítás yi x += h ; } return EXIT_SUCCESS ; }Megvalósítás a Python 3.7 -ben :
# n - iterációk száma, h - lépés, (x, y) - kezdőpont def Euler ( n = 10 , h = 0,01 , x = 1 , y = 1 ): i esetén az ( n tartományban ) : y += h * függvény ( x , y ) x += h visszatér x , y # megoldás def függvény ( x , y ): return 6 * x ** 2 + 5 * x * y # első derivált függvény nyomtatás ( Euler ())Megvalósítás Lua nyelven :
n , h , x , y = 10 , 0.01 , 1 , 1 -- iterációk száma, lépés, kezdőpont koordináták függvény f ( x , y ) return 6 * x ^ 2 + 5 * x * y vége -- első derivált függvény i = 1 , n do x , y = x + h , y + h * f ( x , y ) végnyomat ( ' x : ' .. x .. ' y: ' .. y ) eseténSzótárak és enciklopédiák |
---|
Véges különbség módszer | |
---|---|
Általános cikkek | |
A különbségi sémák típusai |