Eulerin menetelmä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 8. tammikuuta 2022 tarkistetusta versiosta . tarkastukset vaativat 7 muokkausta .

Eulerin menetelmä  on yksinkertaisin numeerinen menetelmä tavallisten differentiaaliyhtälöjärjestelmien ratkaisemiseksi . Ensimmäisen kerran Leonhard Euler kuvasi vuonna 1768 teoksessaan "Integral Calculus" [1] . Euler-menetelmä on eksplisiittinen, yksivaiheinen, ensimmäisen asteen tarkkuusmenetelmä. Se perustuu integraalikäyrän approksimaatioon paloittain lineaarisella funktiolla, ns. Eulerin katkoviivalla.

Menetelmän kuvaus

Olkoon Cauchyn tehtävä ensimmäisen kertaluvun yhtälölle:

jossa funktio on määritelty jossain verkkotunnuksessa . Ratkaisua haetaan puoliväliltä . Tällä aikavälillä esittelemme solmut: Likimääräinen ratkaisu solmuissa , joita merkitsemme , määräytyy kaavalla:

Nämä kaavat voidaan yleistää suoraan tavallisten differentiaaliyhtälöiden järjestelmiin.

Arvio menetelmän virheestä vaiheessa ja yleisesti

Askelvirhe tai paikallinen virhe on ero yhden laskentavaiheen jälkeisen numeerisen ratkaisun ja pisteen tarkan ratkaisun välillä . Numeerinen ratkaisu saadaan kaavalla

Tarkkaa ratkaisua voidaan laajentaa Taylor-sarjassa :

Saamme paikallisen virheen vähentämällä ensimmäisen toisesta yhtälöstä:

Tämä on totta, jos sillä on jatkuva toinen derivaatta [2] . Toinen riittävä ehto tämän arvion pätevyydelle, josta edellinen seuraa ja joka on yleensä helposti todennettavissa, on jatkuva differentiaatio molempien argumenttien suhteen [3] .

Virhe yleinen, yleinen tai kumuloitunut virhe on virhe yhtälön integroinnin mielivaltaisen viimeisen segmentin viimeisessä pisteessä. Ratkaisun laskemiseksi tässä vaiheessa tarvitaan vaiheita, joissa on segmentin pituus. Siksi menetelmän globaali virhe .

Eulerin menetelmä on siis ensimmäisen asteen menetelmä - siinä on virhe jossain vaiheessa ja virhe yleensä [3] .

Eulerin menetelmän merkitys

Eulerin menetelmä oli historiallisesti ensimmäinen menetelmä Cauchyn ongelman numeeriseen ratkaisuun. O. Cauchy käytti tätä menetelmää todistaakseen ratkaisun olemassaolon Cauchyn ongelmaan. Alhaisen tarkkuuden ja laskennallisen epävakauden vuoksi Euler-menetelmää käytetään harvoin käytännön ratkaisujen löytämiseen Cauchyn ongelmaan. Yksinkertaisuuden vuoksi Eulerin menetelmää voidaan kuitenkin soveltaa differentiaaliyhtälöiden teoreettisissa tutkimuksissa, variaatioiden laskennan ongelmissa ja useissa muissa matemaattisissa ongelmissa.

Muutokset ja yleistykset

Muokattu Euler-menetelmä uudelleenlaskemalla

Ratkaisun laskennan tarkkuutta ja vakautta on mahdollista lisätä seuraavan muodon eksplisiittisellä Euler-menetelmällä.

Ennuste:

.

Korjaus:

.

Tarkkuuden parantamiseksi korjaava iteraatio voidaan toistaa korvaamalla .

Muokatulla Euler-menetelmällä uudelleenlaskemalla on toinen tarkkuuskerta, mutta sen toteuttamiseksi on laskettava vähintään kahdesti . Uudelleenlaskennan sisältävä Eulerin menetelmä on muunnelma Runge-Kutta (ennustaja-korjaaja) -menetelmistä.

Adams-Bashforthin kaksivaiheinen menetelmä

Toinen tapa lisätä menetelmän tarkkuutta on käyttää ei yhtä, vaan useita aiemmin laskettuja funktioarvoja:

Tämä on lineaarinen monivaiheinen menetelmä .

Toteutukset ohjelmointikielillä

C - toteutus .

#include <stdio.h> kaksoistoiminto ( double x , double y ) _ { paluu 6 * x * x + 5 * x * y ; // ensimmäinen derivaattafunktio } int main ( int argc , char ** argv ) { int i , n ; kaksinkertainen x , y , h ; h = 0,01 ; // vaihe n = 10 ; // iteraatioiden määrä x = 1 ; // x0 y = 1 ; // y0 for ( i = 0 ; i < n ; i ++ ) { y += h * funktio ( x , y ); // laskenta yi x += h ; } paluu EXIT_SUCCESS ; }

Toteutus Python 3.7 :ssä:

# n - iteraatioiden määrä, h - askel, (x, y) - aloituspiste def Euler ( n = 10 , h = 0.01 , x = 1 , y = 1 ): i : lle alueella ( n ): y += h * funktio ( x , y ) x += h palauttaa x , y # ratkaisu def- funktio ( x , y ): palauttaa 6 * x ** 2 + 5 * x * y # ensimmäinen derivaattafunktio tulosta ( Euler ())

Toteutus lua-kielellä :

n , h , x , y = 10 , 0.01 , 1 , 1 -- iteraatioiden määrä , askel , alkupisteen koordinaatit funktio f ( x , y ) return 6 * x ^ 2 + 5 * x * y loppu -- ensimmäinen derivaatta funktio i = 1 , n do x , y = x + h , y + h * f ( x , y ) lopputulostus ( ' x : ' .. x .. ' y: ' .. y )

Katso myös

Muistiinpanot

  1. Euler L. Integraalilaskenta, osa 1, osa 2, luku. 7.
  2. Atkinson, Kendall A. (1989), An Introduction to Numerical Analysis (2. painos), New York: John Wiley & Sons , s. 342, ISBN 978-0-471-50023-0 
  3. 1 2 Matemaattinen tietosanakirja . - M . : "Pöllöt. tietosanakirja" , 1988. - S.  641 .

Kirjallisuus

  • Euler L. Integraalilaskenta. Osa 1. - M .: GITTL. 1956. [1]
  • Babenko K. I. Numeerisen analyysin perusteet. - M.: Nauka. 1986.